2012-05-11 13 views
0

ASP.NET Webアプリケーションプロジェクトには、「Admin」フォルダと「User」フォルダが2つあります。 Adminフォルダの下には "Admin.aspx"ページがあり、Userフォルダの下に "User.aspx"ページがあります。アカウントフォルダの下に「Login.aspx」という別のページがあります。このログインページでは、ツールボックスから組み込みのログインコントロールを使用しました。フィールドに指定されたIDとパスワードに基づいて、対応するWebページを呼び出す必要があります。たとえば、ユーザー名を「admin」、パスワードを「パスワード」(基本的には管理者)と入力すると、Admin.aspxページが読み込まれます。一方、ユーザ名が「mike」、パスワードが「mike123」の場合(基本的には通常のユーザ)の場合、アプリケーションはUser.aspxページを読み込む必要があります。私は "ASP.NET"設定ウィザードを使用して、 "Admin"と "User"フォルダに必要なアクセスルールを作成しました。私の問題は、入力されたIDとパスワードに基づいて対応するaspxページをマッピングすることです。ユーザーIDとパスワードに基づいて、対応するaspページへのアクセスを許可します。

答えて

0
protected void Login1_LoggedIn(object sender, EventArgs e) 
    { 
     String[] users = Roles.GetRolesForUser(Login1.UserName); 
     if (users.Contains("admin")) 
     { 
      Response.Redirect("~/Admin/Admin.aspx"); 
     } 
     else if (users.Contains("users")) 
     { 
      Response.Redirect("~/Secure/User.aspx"); 
     } 
    } 
1

あなたの質問は多少曖昧ですが、標準のSqlMembershipプロバイダとフォーム認証を使用していると仮定しています。

Webサイト管理ツールを使用してログインを管理すると、認証のメカニズムが提供されます。 Webサイト機能へのアクセスを定義するためにユーザーロールを構成して使用することをお勧めします。

ロールに応じて特定のページにリダイレクトするには、次のようになります。 ログインコントロールのLoggedInイベントを処理します。

protected void LoginControl_LoggedIn(object sender, EventArgs e) 
{ 
    try 
    { 

     if (HttpContext.Current.User.IsInRole("Site Admin")) 
     { 
      Response.Redirect("~/Admin/Admin.aspx"); 
     } 
     else if (HttpContext.Current.User.IsInRole("User")) 
     { 
      Response.Redirect("~/User/User.aspx"); 
     } 
    catch (Exception ex) 
    { 
     Debug.WriteLine("Exception in d: " + ex.Message); 
     throw; 
    } 
} 

また、web.configを介してサイトのセキュリティ保護されていないセクションの外部にあるLogin.aspxページにアクセスする必要があります。

<authentication mode="Forms"> 
    <forms name="MyApplication" loginUrl="~/Account/Login.aspx" timeout="60"> 
    </forms> 
</authentication> 

これは、実装可能ないくつかのソリューションの1つです。あなたがこれを手伝ってくれるようにオンラインで多くのリソースがあります。

+0

お返事ありがとうございますが、私は自分自身がこの質問に投稿した回答でこれをすでに解決しています。 –

+1

私は私の答えを提出した後にそれを見た...私は入力するために長い時間がかかりました! ;-) User.IsInRole( "xxxx")メソッドを使用すると、コードを単純化できます。乾杯。 –

関連する問題