我开发了一个基于角色的应用程序,我有管理员,操作员等角色。我检查的每个页面当前用户是否已分配角色然后允许..在我的情况下我想在他们键入时限制“操作员”在“Administrator.aspx”的URL中并进入内部..在这种情况下如果用户在PAGE A上并尝试点击管理员URL它应该重定向回PAge A ..Page A也可以是任何其他页面名称... 。如何实现这一点我正在尝试这种方式,但它不起作用..
if (ViewState["URLReferrer"] == null)
ViewState["URLReferrer"] = Request.UrlReferrer;
if (!HttpContext.Current.User.IsInRole("Control User"))
{
//If user is trying to access the admin page ..send back to the page where he is coming from.
Response.Redirect(Convert.ToString(ViewState["URLReferrer"]));
}
答案 0 :(得分:1)
我试过了。 UrlReferer具有Uri类型,但您需要字符串才能使用Response.Redirect
if (Request.UrlReferrer == null || string.IsNullOrEmtpy(Request.UrlReferrer.AbsoluteUri))
Response.Redirect("defaultPage")
else
Response.Redirect(Request.UrlReferrer.AbsoluteUri);
以上代码适用于我的测试网站。试试吧。