📄 webadminpage.cs
字号:
application.Context.Session[APP_PATH] = setAppPath;
application.Context.Session[APP_PHYSICAL_PATH] = setAppPhysPath;
application.Context.Session[REMOTING_MANAGER] = new WebAdminRemotingManager(setAppPath, setAppPhysPath, application.Context.Session);
}
}
}
public sealed class WebAdminMembershipProvider : MembershipProvider {
public WebAdminMembershipProvider() {
}
public WebAdminRemotingManager RemotingManager {
get {
return (WebAdminRemotingManager) HttpContext.Current.Session["WebAdminRemotingManager"];
}
}
public object CallWebAdminMembershipProviderHelperMethod(string methodName, object[] parameters, Type[] paramTypes) {
object returnObject = null;
object tempObject = null;
tempObject = RemotingManager.ConfigurationHelperInstance;
if (tempObject != null) {
string typeFullName = WebAdminRemotingManager.AssemblyVersionString;
Type tempType = Type.GetType(typeFullName);
BindingFlags allBindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
MethodInfo method = tempType.GetMethod("CallMembershipProviderMethod", allBindingFlags);
if (method != null) {
object[] newParameters = new object[]{methodName, parameters, paramTypes};
object[] returnArrayObj = (object[]) method.Invoke(tempObject, newParameters);
if (returnArrayObj != null) {
returnObject = returnArrayObj[0];
}
}
}
return returnObject;
}
public object[] CallWebAdminMembershipProviderHelperMethodOutParams(string methodName, object[] parameters, Type[] paramTypes) {
object[] returnObjectArray = new object[0];
object tempObject = RemotingManager.ConfigurationHelperInstance;
if (tempObject != null) {
string typeFullName = WebAdminRemotingManager.AssemblyVersionString;
Type tempType = Type.GetType(typeFullName);
BindingFlags allBindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
MethodInfo method = tempType.GetMethod("CallMembershipProviderMethod", allBindingFlags);
if (method != null) {
object[] newParameters = new object[]{methodName, parameters, paramTypes};
object[] returnArrayObj = (object[]) method.Invoke(tempObject, newParameters);
if (returnArrayObj != null) {
returnObjectArray = returnArrayObj;
}
}
}
return returnObjectArray;
}
public object GetWebAdminMembershipProviderHelperProperty(string propertyName) {
object returnObject = null;
object tempObject = null;
tempObject = RemotingManager.ConfigurationHelperInstance;
if (tempObject != null) {
string typeFullName = WebAdminRemotingManager.AssemblyVersionString;
Type tempType = Type.GetType(typeFullName);
BindingFlags allBindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
MethodInfo method = tempType.GetMethod("GetMembershipProviderProperty", allBindingFlags);
if (method != null) {
object[] newParameters = new object[]{propertyName};
returnObject = method.Invoke(tempObject, newParameters);
}
}
return returnObject;
}
public override string ApplicationName
{
get { return (string)GetWebAdminMembershipProviderHelperProperty("ApplicationName"); }
set {;}
}
public override bool EnablePasswordRetrieval{
get {
return (bool)GetWebAdminMembershipProviderHelperProperty("EnablePasswordRetrieval");
}
}
public override bool EnablePasswordReset
{
get{
return (bool)GetWebAdminMembershipProviderHelperProperty("EnablePasswordReset");
}
}
public override bool RequiresQuestionAndAnswer
{
get {
return (bool)GetWebAdminMembershipProviderHelperProperty("RequiresQuestionAndAnswer");
}
}
public override bool RequiresUniqueEmail
{
get {
return (bool)GetWebAdminMembershipProviderHelperProperty("RequiresUniqueEmail");
}
}
public override int MaxInvalidPasswordAttempts
{
get {
return (int)GetWebAdminMembershipProviderHelperProperty("MaxInvalidPasswordAttempts");
}
}
public override int PasswordAttemptWindow
{
get {
return (int)GetWebAdminMembershipProviderHelperProperty("PasswordAttemptWindow");
}
}
public override MembershipPasswordFormat PasswordFormat
{
get {
return (MembershipPasswordFormat)GetWebAdminMembershipProviderHelperProperty("PasswordFormat");
}
}
public override int MinRequiredPasswordLength
{
get { return (int)GetWebAdminMembershipProviderHelperProperty("MinRequiredPasswordLength"); }
}
public override int MinRequiredNonAlphanumericCharacters
{
get { return (int)GetWebAdminMembershipProviderHelperProperty("MinRequiredNonAlphanumericCharacters"); }
}
public override string PasswordStrengthRegularExpression
{
get { return (string)GetWebAdminMembershipProviderHelperProperty("PasswordStrengthRegularExpression"); }
}
public override bool ChangePassword(string name, string oldPwd, string newPwd)
{
return (bool)CallWebAdminMembershipProviderHelperMethod("ChangePassword", new object[]{name, oldPwd, newPwd}, new Type[] {typeof(string), typeof(string), typeof(string)});
}
public override bool ChangePasswordQuestionAndAnswer(string name, string password, string newPwdQuestion, string newPwdAnswer)
{
return (bool)CallWebAdminMembershipProviderHelperMethod("ChangePasswordQuestionAndAnswer", new object[]{name, password, newPwdQuestion, newPwdAnswer}, new Type[] {typeof(string), typeof(string), typeof(string), typeof(string)});
}
public override MembershipUser CreateUser( string username,
string password,
string email,
string passwordQuestion,
string passwordAnswer,
bool isApproved,
object providerUserKey,
out MembershipCreateStatus status)
{
MembershipUser TempUser = null;
status = MembershipCreateStatus.InvalidUserName;
string typeFullName = "System.Web.Security.MembershipCreateStatus&, " + typeof(HttpContext).Assembly.GetName().ToString();
Type tempType = Type.GetType(typeFullName);
object[] returnAndOutParams = CallWebAdminMembershipProviderHelperMethodOutParams("CreateUser", new object[]{username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, status} , new Type[] {typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(bool), typeof(object), tempType});
if (returnAndOutParams != null) {
TempUser = (MembershipUser) returnAndOutParams[0];
status = (MembershipCreateStatus) returnAndOutParams[8];
}
if (status != MembershipCreateStatus.Success) {
return null;
}
else {
return TempUser;
}
}
public override bool DeleteUser(string name, bool deleteAllRelatedContent)
{
return (bool)CallWebAdminMembershipProviderHelperMethod("DeleteUser", new object[]{name, deleteAllRelatedContent}, new Type[] {typeof(string), typeof(bool)});
}
public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords)
{
totalRecords = 0;
MembershipUserCollection TempList = (MembershipUserCollection) CallWebAdminMembershipProviderHelperMethod("GetAllUsers", new object[]{pageIndex, pageSize, totalRecords}, new Type[] {typeof(int), typeof(int),Type.GetType("System.Int32&")});
MembershipUserCollection NewList = new MembershipUserCollection();
foreach (MembershipUser TempItem in TempList)
{
MembershipUser NewUser = new MembershipUser(this.Name,
TempItem.UserName,
TempItem.ProviderUserKey,
TempItem.Email,
TempItem.PasswordQuestion,
TempItem.Comment,
TempItem.IsApproved,
TempItem.IsLockedOut,
TempItem.CreationDate,
TempItem.LastLoginDate,
TempItem.LastActivityDate,
TempItem.LastPasswordChangedDate,
TempItem.LastLockoutDate );
NewList.Add(NewUser);
}
return NewList;
}
public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords)
{
totalRecords = 0;
MembershipUserCollection TempList = (MembershipUserCollection) CallWebAdminMembershipProviderHelperMethod("FindUsersByEmail", new object[]{emailToMatch, pageIndex, pageSize, totalRecords}, new Type[] {typeof(string), typeof(int), typeof(int),Type.GetType("System.Int32&")});
MembershipUserCollection NewList = new MembershipUserCollection();
foreach (MembershipUser TempItem in TempList)
{
MembershipUser NewUser = new MembershipUser(this.Name,
TempItem.UserName,
TempItem.ProviderUserKey,
TempItem.Email,
TempItem.PasswordQuestion,
TempItem.Comment,
TempItem.IsApproved,
TempItem.IsLockedOut,
TempItem.CreationDate,
TempItem.LastLoginDate,
TempItem.LastActivityDate,
TempItem.LastPasswordChangedDate,
TempItem.LastLockoutDate );
NewList.Add(NewUser);
}
return NewList;
}
public override int GetNumberOfUsersOnline()
{
return (int) CallWebAdminMembershipProviderHelperMethod("GetNumberOfUsersOnline", new object[]{}, null);
}
public override string GetPassword(string name, string answer)
{
return (string) CallWebAdminMembershipProviderHelperMethod("GetPassword", new object[]{name, answer}, new Type[] {typeof(string), typeof(string)});
}
public override MembershipUser GetUser(string name, bool userIsOnline)
{
MembershipUser TempUser = (MembershipUser)CallWebAdminMembershipProviderHelperMethod("GetUser", new object[]{name, userIsOnline}, new Type[] {typeof(string), typeof(bool)});
MembershipUser NewUser = new MembershipUser(this.Name,
TempUser.UserName,
TempUser.ProviderUserKey,
TempUser.Email,
TempUser.PasswordQuestion,
TempUser.Comment,
TempUser.IsApproved,
TempUser.IsLockedOut,
TempUser.CreationDate,
TempUser.LastLoginDate,
TempUser.LastActivityDate,
TempUser.LastPasswordChangedDate,
TempUser.LastLockoutDate );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -