CustomIdentity类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Security.Principal;
using System.Text;
namespace BIReportCenter.Utility.Authentication
{
/// <summary>
/// 用户身份信息
/// </summary>
[Serializable]
public class CustomIdentity : IIdentity
{
/// <summary>
/// 用户自定义信息。
/// </summary>
public String UserData { get; set; }
#region IIdentity Members
public virtual string AuthenticationType { get { return "Forms"; } }
public virtual bool IsAuthenticated { get { return true; } }
public virtual string Name { get { return string.Empty; } }
#endregion
public CustomIdentity(string userData)
{
UserData = userData;
}
public CustomIdentity() { }
}
}
FormAuthenticationUtil类:
using System;
using System.Security.Principal;
using System.Web;
using System.Web.Security;
namespace BIReportCenter.Utility.Authentication
{
public delegate IIdentity GetCustomIdentityMapper(string userData);
public class FormsAuthenticationUtil
{
#region 共有
/// <summary>
/// 保存票据,并跳转到登录页
/// </summary>
/// <param name="userName"></param>
/// <param name="userData"></param>
/// <param name="createPersistentCookie"></param>
/// <param name="strCookiePath"></param>
public static void RedirectFromLoginPage(string userName, string userData, bool createPersistentCookie, string strCookiePath)
{
RedirectFromLoginPageMain(userName, userData, createPersistentCookie, strCookiePath);
}
/// <summary>
/// 保存票据,并跳转到登录页
/// </summary>
/// <param name="userName"></param>
/// <param name="userData"></param>
/// <param name="createPersistentCookie"></param>
public static void RedirectFromLoginPage(string userName, string userData, bool createPersistentCookie)
{
RedirectFromLoginPageMain(userName, userData, createPersistentCookie, null);
}
/// <summary>
/// 保存票据
/// </summary>
/// <param name="userName"></param>
/// <param name="userData"></param>
/// <param name="createPersistentCookie"></param>
public static void SetAuthCookie(string userName, string userData, bool createPersistentCookie)
{
SetAuthCookieMain(userName, userDa

本文详细介绍了如何使用C#进行基于Form的Web身份验证,包括CustomIdentity类、FormAuthenticationUtil辅助类、UserPrincipal类的创建,以及PageBaseHelper和PageBase类的使用。还讨论了UserIdentity类、全局配置以及页面登录和注销的处理方法。同时提供了web.config配置的相关内容。
469

被折叠的 条评论
为什么被折叠?



