我有一个ASP.NET 4.6 WebForms应用程序,该应用程序利用Identity 2.1包进行注册和身份验证系统。它使用 Owin身份验证,而不是表单或Windows。
我的尝试是不允许匿名用户查看网站的任何页面并将其重定向到“登录”页面。这就是我在Web.config中添加以下内容的原因(根据this article):
<system.web>
<authorization>
<deny users="?"/>
</authorization>
<authentication mode="None" />
</system.web>
<location path="~/Account/Login.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
从那时起,我总是在浏览器中运行应用程序时获得重定向循环。我找到了不同的MVC解决方案,但WebForms没有。
可能是什么原因以及如何将其删除?
这是我在Startup.Auth.cs文件中的配置方法:
public void ConfigureAuth(IAppBuilder app)
{
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login.aspx"),
CookieSecure = CookieSecureOption.Always,
Provider = new CookieAuthenticationProvider
{
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(30),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
});
}
答案 0 :(得分:0)
将身份验证模式设置为&#34;表单&#34; 并将服务器上的身份验证设置为Formsauthentication&amp;匿名。
等我寻找另一个解决方案&#39; s
答案 1 :(得分:0)
<deny users="?"/>
然后删除“var express = require('express');
var php = require("node-php");
var path = require("path");
var app = express();
app.use("/", php.cgi("/path/to/wordpress"));
app.listen(9090);
console.log("Server listening!");
”行
答案 2 :(得分:0)
从
更改位置路径<location path="~/Account/Login.aspx">
到
<location path="Account/Login.aspx">
并删除友好网址
答案 3 :(得分:0)
将此XML添加到您的Accounts / Web.Config
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
这解决了我的问题。
请注意,这是您的帐户文件夹中的Web.Config