0
我只需要做出MVC3的手动autentication而问题是,当用户访问从项目的URL,我已经在基类的代码:MVC3手册认证
public class BaseController : Controller
{
private Usuario loggedUser;
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
if (requestContext.HttpContext.Request.RawUrl != "/Home/Login")
{
if (requestContext.HttpContext.Session["usuario"] != null)
{
loggedUser = (Usuario)requestContext.HttpContext.Session["usuario"];
ViewBag.nomeUsuario = loggedUser.Nome;
ViewBag.idUsuario = loggedUser.Id;
}
else
{
requestContext.HttpContext.Response.RedirectPermanent("~/Home/Login");
}
}
base.Initialize(requestContext);
}
的问题是,当他们没有授权我发送重定向但初始化继续处理请求操作。我认为验证是不是一个好地方,因为我可以删除inicalize方法。
考虑使用自定义'FilterAttribute',如'AuthorizeAttribute',但创建自己的并将其放在'BaseController'或任何需要控制器的功能上。 –
马里奥,我看着AuthorizeAttribute,但我需要创建没有微软成员资格,没有使用MS的身份验证功能。 –
您可以继承'AuthorizeAttribute'并覆盖使用您自己逻辑的功能。 –