Pregunta

mi primera pregunta es, ¿dónde pongo esto extensión personalizada para que pueda ser llamado en lugar de la opción predeterminada AuthorizeAttribute?

Actualmente he creado un nuevo proyecto que contenga toda la lógica de negocio de mi dentro de mi solución MVC. Tengo un archivo .cs dentro de mi proyecto de lógica que contiene todas mis clases de seguridad. He intentado añadir una clase de extensión a ese archivo y en mi controlador, que ve la clase bien y IntelliSense no está ladrando a mí cuando agrego el atributo, pero cuando intento compilar, me sale un error que el tipo o espacio no pudo ser encontrado. Qué atributo tiene que ser alojados en un lugar especial con el fin de recopilar la costumbre?

La segunda pregunta ... podría estar relacionada con la primera: Cuando estoy tratando de reemplazar el método de AuthorizeCore AuthorizeAttribute, estoy pasando en System.Web.HttpContextBase como HttpContext. Por alguna razón, el estudio visual no puede resolver System.Web.HttpContextBase. De nuevo, esto podría estar relacionado con en el que tengo esta clase guarda en mi solución. O tal vez lo que necesito para importar un archivo DLL en algún lugar de extender esto?

Por favor avise.

¿Fue útil?

Solución

Por lo que yo soy consciente de la clase puede ser en cualquier proyecto de biblioteca de clases siempre y cuando se haya referenciado adecuadamente el proyecto en su sitio web. Es posible que desee para tratar de volver a compilar el proyecto -. Suena como que es capaz de encontrar los archivos de origen, pero el código no está en el archivo DLL

Es probable que tenga que añadir en una referencia a System.Web.Abstractions a su proyecto. Mientras que las clases "base" están en el espacio de nombres System.Web, que se encuentran en un archivo DLL diferente.

Otros consejos

Funciona para mí, espero que esto le ayudará.

using System.Web.Mvc;

public class CustomAuthorize : AuthorizeAttribute
{

}

In controller

 [CustomAuthorize]
public class OrderController : Controller
{

}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top