授权在ASP.NET MVC 5中不起作用
免责声明:这是我第一次使用ASP.NET MVC 5
我不知道为什么它不起作用。 我无法让我的MVC5应用程序授权用户。 我在之前的版本(2,3和4)中完成了这个工作,但我似乎无法在OWIN中工作。
我使用启用了所需功能的本地IIS:
编辑 :
我在IIS上使用SSL并在C#上使用RequireHttps
这是代码:
protected void Application_Start()
{
GlobalFilters.Filters.Add(new AuthorizeAttribute());
}
Startup.Auth.cs
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/admin/account/login")
});
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
app.UseGoogleAuthentication();
尽管我使用全球授权,但我试图“强制”它来查看是否存在这个问题:
public class HomeController : Controller
{
[Authorize]
public ActionResult Index()
{
return View();
}
}
没有运气......我不确定这是否有必要与OWIN,但我甚至尝试启用表单身份验证:
<authentication mode="Forms" />
编辑[2]
那么,我发现了这个问题...... IIS! 最后! 现在,有谁知道如何解决这个问题? 我需要什么特别的东西来在IIS上运行OWIN? 我现在可以工作,但很快我就不得不部署应用程序,并可能会在服务器中遇到同样的问题...
我已经阅读过这些内容:
如何使用AspNet.Identity以Asp.Net MVC5 RTM位登录/验证用户?
授权属性不工作MVC 5
有任何想法吗?
由于您的应用程序使用IIS运行,因此请尝试将Microsoft.Owin.Host.SystemWeb
nuget包添加到您的应用程序中。
试试这篇文章,这对我OWIN安装很有帮助。 我不确定您是否使用了声明,因为您没有在问题中显示它,这对于创建身份验证票证来说至关重要
另外,当您使用SSL时,如果CookieSecureOption仍然不起作用,请注意CookieSecure属性
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/admin/account/login")
CookieSecure = CookieSecureOption.Never
});
我希望这会有所帮助
链接地址: http://www.djcxy.com/p/83641.html上一篇: Authorization not working in ASP.NET MVC 5
下一篇: Xcode6 code signing required for referenced frameworks?