自带的例子里有个音乐商店合适可以实现登陆功能,我一直看不懂他的登陆是怎么做的,比如说,在验证用户名和密码的时候,代码里没有提到过访问数据库,比如里面自带的一个登陆类:
public class AccountMembershipService : IMembershipService
{
private MembershipProvider _provider;
public AccountMembershipService()
: this(null)
{
}
public AccountMembershipService(MembershipProvider provider)
{
_provider = provider ?? Membership.Provider;
}
public int MinPasswordLength
{
get
{
return _provider.MinRequiredPasswordLength;
}
}
public bool ValidateUser(string userName, string password)
{
return _provider.ValidateUser(userName, password);
}
public MembershipCreateStatus CreateUser(string userName, string password, string email)
{
MembershipCreateStatus status;
_provider.CreateUser(userName, password, email, null, null, true, null, out status);
return status;
}
public bool ChangePassword(string userName, string oldPassword, string newPassword)
{
MembershipUser currentUser = _provider.GetUser(userName, true /* userIsOnline */);
return currentUser.ChangePassword(oldPassword, newPassword);
}
}请问这是如何实现的呢?我并没有看到他操作实体类的任何函数啊。。还有,在后台管理里方法前加[Authorize],这个东西是不是跟上面的类有关?大家帮我解答下吧,或者给我个相关链接给我看也行,谢谢啦。。。
登陆采用的是asp.net membership,是.net的类库
一个分析http://www.cnblogs.com/hjf1223/archive/2006/08/27/487895.html
web.config中membership配置了信息,至于数据库的表、视图、存储过程等都是通过.net的框架工具aspnet_regsql.exe建立的;具体的访问数据库都包装在了MembershipUser等这些类中,详细的可以参考MSDN
额,你应该去看看 asp.net membership 然后有可能你就彻底明白了.
[Authorize] 是标识使用身份验证的FilterAttribute
这里的操作只是调用了asp.net membership中实现好的方法,它使用的是你配置文件中ASPNETDB中的存储过程!
System.Web.Security.SqlMembershipProvider 我想你会明白的!
http://msdn.microsoft.com/zh-cn/library/system.web.security.membershipuser%28v=vs.80%29.aspx