FormsAuthenticationが必要なものを処理できるようです。ルートweb.configに次の行を追加します
<authentication mode="Forms">
<forms name="XXXXX.ASPXAUTH" timeout="60" loginUrl="~/login.aspx" protection="All" path="/"></forms>
</authentication>
XXXをCookieと呼びたいものに置き換えます。また、login.aspxの名前をログインページの名前に変更します。このコードは、認証されていない人をログインページにリダイレクトします。
次に、ログインロジックで次のC#コードのようなものを使用します
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, txtUsername.Text,
DateTime.Now, DateTime.Now.AddMinutes(60), true, reader["user_level"] + "",
FormsAuthentication.FormsCookiePath);
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash);
if (ticket.IsPersistent) cookie.Expires = ticket.Expiration;
Response.Cookies.Add(cookie);
このコードを使用すると、ログインしているユーザー(つまり、管理者、ユーザーなど)のユーザーレベルで「リーダー[...」を送信する必要があります。
最後に行う必要があるのは、許可されるユーザーロールと拒否されるロールの概要を示す独自のweb.configを使用して各保護ディレクトリを設定することです。web.configのロールに使用する名前は、FormsAuthenticationTicketに送信される値と一致している必要があり、これで問題ありません。