在 web.config 中配置了用户登录为form验证,并且启用了 roleManage,现在未登录的用户都会自动跳转至登录页才能访问页面,现在的问题是:
权限不足的用户访问特定页面(即不在用户Roles中的页面被用户访问),程序也自动跳转至登录页面了。现在仅仅希望用户得到一个提示页面,告诉他无权访问而已,如何做?需要用哪个全局事件吗?还是在web.config中配置什么?还是修改我的login页面?
权限不足的用户访问特定页面(即不在用户Roles中的页面被用户访问),程序也自动跳转至登录页面了。现在仅仅希望用户得到一个提示页面,告诉他无权访问而已,如何做?需要用哪个全局事件吗?还是在web.config中配置什么?还是修改我的login页面?
解决方案 »
- 求一段关于页面在会员登录前后变化的代码
- 求思路
- 如何用linkbutton移除datalist中的一项??我是新手
- access中存储数据库可以用OLE 对象对象,那么SQL Server中用什么对象?
- ajax timer空间问题
- 菜鸟提问:非常简单却问题难倒了我,闪点分希望大家帮个忙
- 急!!!急!!!!!!!急!!!!!!!急!!!!!!! 用TcpClient创建连接失败 在线等!!!!!!!!!!!!!!!
- vs2008居然没有对sql2008的数据源
- 多条件查询问题,本人SQL很烂!求大神帮助!
- 请问这个链接怎么写?
- 怎么用代码修改flash中的图片
- 又一个gppgle地图API的问题期待hookyzlr来看..
{
Response.Redirect(url, true);
}
else
{
Server.Transfer(url);
}
在页面的Page_load中做判断。没有权限就跳转
<allow users="*">
<deny users="allwin\tess,allwin\king">
<deny users="?">
</authorization>
这种配置应该是除了tess和king都可以访问.
匿名不允许访问.
说的原来是MVC模式下的 ActionFilter,我用的是 WebForm,不是MVC。
主要是先判断是否登录,没登陆则转登陆页,登陆但没权限则给出提示:BASEPAGE里:
//是否有权限
public void Authorized(string permissionItemCode)
{
// 若没有相应的权限,那就跳转到没有权限的页面里
if (!LoginUtilities.UserIsLogin() || !IsAuthorized(permissionItemCode))
{
bool y = IsAuthorized(permissionItemCode);
HttpContext.Current.Response.Redirect(Utilities.AccessDenyPage + "?Code=" + permissionItemCode);
}
}
该页面LOAD中:
//判断是否登录,这个方法里来实现没登录转登录页。
Utilities.CheckIsLogin();
// 判断是否有这个页面权限权限
this.Authorized("Project.Admin");
if (Page.User.Identity.Name != "")
{
Response.Write("无权访问");
Response.End();
}
这个不是用自己的代码来处理的吗?不是要这个的。估计只有从login页面来处理了。
如果不想继承,那就把BASEPAGE的代码复制到你的工作页,即有权限则显示,没权限则提示无权访问你要先判断是否登录,没有登录就跳到登录页
已登录,就判断是否有权限显示所以我的方法是在LOAD里写了2个方法://判断是否登录,这个方法里来实现没登录转登录页。
Utilities.CheckIsLogin();
// 判断是否有这个页面权限权限,
this.Authorized("Project.Admin");
//无权限则跳到无权限页
HttpContext.Current.Response.Redirect(无权限页的URL)