/// <summary> /// Authenticates the user's credentials against the ASP.NET /// membership provider. /// </summary> /// <typeparam name="T"> /// Type of object (subclass of MembershipIdentity) to retrieve. /// </typeparam> /// <param name="userName">Username to authenticate.</param> /// <param name="password">Password to authenticate.</param> /// <param name="isRunOnWebServer"> /// Specifies whether to access the membership provider locally (true), /// or through the data portal (false) presumably to reach an application /// server. /// </param> /// <returns></returns> public static T GetMembershipIdentity <T>(string userName, string password, bool isRunOnWebServer) where T : MembershipIdentity { IdentityFactory factory = new IdentityFactory(); return((T)factory.FetchMembershipIdentity(new Criteria(userName, password, typeof(T), isRunOnWebServer))); }
private MembershipIdentity GetIdentity(Type identityType, IdentityFactory identity) { MembershipIdentity returnValue = (MembershipIdentity)Activator.CreateInstance(identityType); returnValue.IsAuthenticated = identity.IsAuthenticated; returnValue.Name = identity.Name; returnValue.Roles = identity.Roles; returnValue.AuthenticationType = "YYT"; return(returnValue); }
/// <summary> /// Fetches MembershipIdentity from the server /// </summary> /// <param name="criteria"><see cref="MembershipIdentity.Criteria"/></param> /// <returns></returns> public MembershipIdentity FetchMembershipIdentity(MembershipIdentity.Criteria criteria) { if (criteria.IsRunOnWebServer) { return(GetIdentityOnServer(criteria)); } else { IdentityFactory serverIdentity = DataPortal.Fetch <IdentityFactory>(criteria); Type identityType = Type.GetType(criteria.MembershipIdentityType); return(GetIdentity(identityType, serverIdentity)); } }