Asp.Net登录重定向 [英] Asp.Net Login redirect

查看:101
本文介绍了Asp.Net登录重定向的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,





我在ASP.NET 2012开发阶段的网站有三个角色(管理员,成员,组织)。我已经使用适当的Web配置安全性限制实现了每个文件夹。我的问题是在LogIn.cs中基于用户角色实现重定向之后。在我的项目层次结构中存在关于不存在的默认页面的错误,我没有任何默认值在我的项目中创建的页面,但主页设置为开始。



我所做的并尝试解决这种情况的方法是创建一个从母版页继承的空默认页面。在测试用户角色时,默认页面返回LoginName,而不是在loginIn.cs中实现的。





我将非常感激提供任何协助。非常感谢提前。





这是我的Login.cs



Hi All,


My website within ASP.NET 2012 development phase has three roles(Admin,Members,Organisation) .I have implemented each folder with appropriate web config security restrictions .My problem is after implementing redirection based on user roles within LogIn.cs .An error is thrown about a default page non existing within my project hierarchy, and I don't have any default page created in my project ,but homepage set as start.

What I did and tried to remedy the situation was to create an empty default page inheriting from the Master Page .Upon testing user roles the default page is returned with LoginName and not directed as implemented in loginIn.cs.


I would be very grateful for any assistance rendered .Many thanks in advance.


This my Login.cs

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        {
            bool isAdministrator = Roles.IsUserInRole(User.Identity.Name, "Administrator");
            bool isMembers= Roles.IsUserInRole(User.Identity.Name, "Members");


            //if User is an admin, send to admin homepage, otherwise to account home page
            if (isAdministrator)
                Response.Redirect("~/Admin/SiteAdmin.aspx");
            else if (isMembers)
                Response.Redirect("~/Members/Dashboard.aspx");
        }
    }

}

推荐答案

在登录页面加载事件中你写代码?那是正确的 ?在登录页面加载,即使你得到

In login page load event u write code ? that is correct ? in login page load even u get
bool isAdministrator = Roles.IsUserInRole(User.Identity.Name, "Administrator");
bool isMembers= Roles.IsUserInRole(User.Identity.Name, "Members");



或按钮点击你得到?



试试这样,删除if form else part,我的意思是if else else




or in button click u get ?

Try like this,remove if form else part,i mean if and else ,

if (isAdministrator)
Response.Redirect("~/Admin/SiteAdmin.aspx");
else (isMembers)
Response.Redirect("~/Members/Dashboard.aspx");





或尝试这样,放一个按钮,在那个按钮点击甚至你写那个代码并检查。







登录页面加载事件你只写这个代码并检查



Response.Redirect(〜/ Admin / SiteAdmin.aspx);



or try like this,put one button,in that button click even u write that code and check.

or

in login page load event u write this code only and check

Response.Redirect("~/Admin/SiteAdmin.aspx");


这篇关于Asp.Net登录重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆