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)
{
SetAuthC