0

我在這裏有一些問題。當用戶輸入他們的ID時,它會顯示主頁面和用戶,但是當管理員輸入他們的ID時,它將進入用戶的主頁面,我必須點擊頂部超鏈接上的管理站點,它會自動註銷,一旦我進入後面的管理員密碼,然後只有它重定向到管理頁面,讓它像一旦用戶輸入密碼它重定向到用戶頁面,一旦管理員輸入管理員密碼登錄它重定向到管理員?我有3個角色在這裏是管理員,工作人員和user.Hereby我會爲你提供我的aspx代碼,同時也被運行program.please揹着我的VB代碼也協助me.thanks重定向管理員頁面和用戶到用戶頁面

ASPX

<asp:Login ID="Login1" runat="server" BackColor="#009933" BorderColor="Red" 
     BorderPadding="4" BorderStyle="Ridge" BorderWidth="1px" Font-Names="Verdana" 
     Font-Size="0.8em" ForeColor="Red" 
     DestinationPageUrl="~/MainPage.aspx" style="text-align: center" Height="171px" 
        Width="266px" VisibleWhenLoggedIn="True" TextLayout="TextOnTop"> 
     <TextBoxStyle Font-Size="0.8em" /> 
     <LoginButtonStyle BackColor="#FFFBFF" BorderColor="#CCCCCC" BorderStyle="Solid" 
      BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284775" /> 
     <InstructionTextStyle Font-Italic="True" ForeColor="Black" /> 
     <TitleTextStyle BackColor="#5D7B9D" Font-Bold="True" Font-Size="0.9em" 
      ForeColor="White" /> 

    </asp:Login> 

VB

Partial Class Login 

    Inherits System.Web.UI.Page 

End Class 

的web.config人員文件夾

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
     <authorization> 
      <allow roles="staff" /> <deny users="" /> 
     </authorization> 
    </system.web> 
</configuration> 

的web.config管理文件夾

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
     <authorization> 
      <allow roles="adminstrator" /> <deny users="" /> 
     </authorization> 
    </system.web> 
</configuration> 

的web.config -

<configuration> 
    <appSettings/> 
    <connectionStrings> 
     <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/> 
     <add name="ASPNETDBConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Se7en\Desktop\Personal\VIVA\1\App_‌​Data\ASPNETDB.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 

回答

0

你能在你的登錄按鈕單擊事件做到這一點:

switch (role) 
    { 
    case 0: 
     Response.Redirect("MainPage.aspx"); 
     break; 
    case 1: 
     Response.Redirect("StaffPage.aspx"); 
     break; 
    case 2: 
     Response.Redirect("UserPage.aspx"); 
     break; 
} 

您需要在驗證用戶代碼設置角色值。

+0

我沒有得到如何使用that.can你可以幫助我,因爲我有點新使用aspx和vb.how來實現該代碼嗎?do help me.thanks –

+0

(會話(「Loggedin」)= 1) End If If(GetUserTypeFromUserID(userID)=「admin」)然後 的Response.Redirect( 「/管理/ AdminMainPage.aspx」) 否則 結束如果 如果((GetUserTypeFromUserID(用戶ID)= 「員工」))然後 的Response.Redirect( 「StaffMainPage.aspx」) 否則 的Response.Redirect( 「MainPage.aspx」) 結束如果 –

+0

以及如何設置驗證用戶代碼? –

0

剛纔看到您的重新編輯的問題...您是什麼導航喜歡?你用什麼控件?你會用什麼樣的MembershipProvider(如果有的話)?

您可能仍然嘗試使用treeView或菜單控件(綁定到站點地圖文件)。使用這些控件,您可以使用安全提示(詳情請參閱msdn)。

如(從MSDN):

<system.web> 
<!-- …other configuration settings --> 
    <siteMap defaultProvider="XmlSiteMapProvider" enabled="true"> 
    <providers> 
     <add name="XmlSiteMapProvider" 
     description="Default SiteMap provider." 
     type="System.Web.XmlSiteMapProvider " 
     siteMapFile="Web.sitemap" 
     securityTrimmingEnabled="true" /> 
    </providers> 
    </siteMap> 
</system.web> 

此屬性將改變出現在您的導航控件鏈接的可見性。例如,具有角色admin的用戶將只能看到他們被允許導航到的鏈接。

您能告訴我們您的導航控件嗎? THX提前

+0

感謝您的答覆。我使用的是一個普通的asp.net登錄控件,它可以在開發工具中使用。我有3個角色,它們是用戶,管理員和員工以及三個不同的文件夾all.hW是使用這種情況下,並在哪裏應用它??請幫助我..提前感謝。 –

+0

所以你使用的是會員供應商?什麼樣的?你可以發佈/編輯你的文章,並添加你的web.config成員資格+角色設置請! –

+0

這對於工作人員頁 <?XML版本= 「1.0」 編碼= 「UTF-8」?> <結構> <授權> web配置<允許角色= 「員工」/> <否認用戶= 「*」/> 這是爲管理頁 <?XML版本= 「1.0」 編碼= 「UTF-8」?> <結構>

相關問題