asp.net – 在某些情况下如何覆盖/更改FormsAuthentication LoginUrl
|
有没有办法动态更改FormsAuthentication的LoginUrl?我所拥有的是由FormsAuth保护的整个站点,但是对于子文件夹中的某些页面,我想将用户带到不同的登录页面,并且具有FormsAuth处理ReturnUrl的东西.是否可能,或者我必须为子文件夹案例编写自己的重定向代码? 这是一个示例布局: ~/LogOn1.aspx ~/Protected1.aspx ~/Protected2.aspx ~/Subfolder/ ~/Subfolder/LogOn2.aspx ~/Subfolder/NotProtected.aspx ~/Subfolder/Protected3.aspx 所以我的web.config看起来像: <forms loginUrl="~/Splash.aspx" ... /> 所有受保护的* .aspx页面都有 <deny users="?"> 我想要的是,如果用户是匿名的,将/ Subfolder / Protected3.aspx重定向到/ Subfolder / LogOn2.aspx. 我试过在/ Subfolder / web.config中放置一个被删除的web.config版本: <?xml version="1.0"?>
<configuration>
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Subfolder/LogOn.aspx" name="SiteAuth" protection="All" timeout="30" path="/" defaultUrl="~/Subfolder/default.aspx" requireSSL="true" cookieless="UseCookies" enableCrossAppRedirects="false" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
但是所有这些都是我的错误:
我认为使这个子文件夹应用程序在这一点上会产生更多的问题,但也许我错了.如果是一个应用程序,不会将/ Subfolder中的所有代码与父应用程序的其余部分分开? 解决方法您所遇到的问题是 Forms element仅在应用程序级别允许 – 您无法在子web.config中定义它.不幸的是,您也无法使用Location element定义它,而FormsAuthentication.LoginUrl属性是只读的. 狩猎一下,看起来你最好的打赌是在您的登录页面上有一些代码可以检测用户从哪里到达(即通过检查“ReturnUrl”查询字符串的值)并重定向到您的其他登录页面如果他们来自子目录.不过,我承认,如果您想为多个子目录定制登录页面,这一切都不会很好地扩展. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用ASP.NET MVC进行项目组织的最佳实践
- asp.net-mvc – 避免“类或CssClass值未定义”ASP.NET MVC中
- asp.net – 将样式应用于CheckBoxList中的ListItems
- dependency-injection – 如何使用unity注入ApplicationUse
- asp.net – HttpWebRequestError:服务器提交协议冲突. Sec
- asp.net-mvc – 如何在没有其他操作匹配的情况下为我的控制
- 在MVC 6中调整上传的图像大小
- ASP.net MVC ValidationSummary总是被渲染
- ASP.NET中没有会话状态的用户身份验证
- asp.net-mvc – ASP.NET MVC中的替代用户管理
- asp.net-web-api – WebAPI 2属性路由启用会话状
- asp.net-mvc-3 – 如果在Razor中的else语句不起作
- asp.net – 使用Page.Render覆盖后缓存替换
- 处理ASP.NET MVC中的异步请求
- 使用异步页面的ASP.NET中彗星更容易吗?
- asp.net-mvc-4 – 在MVC 4中创建下拉列表的最佳方
- asp.net-mvc – 根据需要处理ASP.NET MVC可选字段
- asp.net-mvc – 异步使用ASP.NET MVC中的WebClie
- asp.net-mvc – ACS安装,但MVC 4.0应用程序仍然重
- asp.net – 如何在Firefox上命名文件以供下载?
