leo*_*ora 1 membership asp.net asp.net-mvc
我正在扩展默认的asp.net mvc示例..我正在使用它附带的asp.net成员资格提供程序..
问题是,如果我直接访问我的一个网址而不登录它会显示整个页面顶部带有"登录"链接.
我希望它明显重定向到登录页面,如果有人访问任何特定的操作URL并且他们没有登录.
我是否需要在每个控制器的每个操作中放置特定的逻辑来检查"已登录?"
这里有任何最佳实践.
您需要使用"[Authorize]"来装饰控制器操作并在Web配置中设置正确的登录页面,因此每当调用装饰的操作时,它都会检查用户是否已登录并重定向到正确的登录页面如果不.
编辑:这是一个如何配置它的例子:
在web.config中...添加:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn.aspx" timeout="30"/>
</authentication>
Run Code Online (Sandbox Code Playgroud)
这将指示未经身份验证的用户在点击使用[Authorize()]修饰的控制器时将被重定向到的页面
在你的控制器中(这可以是动作级别或控制器级别,这里显示在动作级别)
public class HistoryController : Controller
{
...
[Authorize]
public ActionResult MyActionThatNeedAuthentication()
{
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
752 次 |
| 最近记录: |