这是OpenAuth登录机制。提供程序列在web.config中。
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{
FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie: false);
string continueUrl = RegisterUser.ContinueDestinationPageUrl;
if (!OpenAuth.IsLocalUrl(continueUrl))
{
continueUrl = "~/";
}
Response.Redirect(continueUrl);
}
我的问题是关于在我的代码中加入用户参与的语句
的例子select * from ResourcesAvailablePerUser,Users
where resourceid = @resourceid
and Users.userid = @userid
and Users.userid = ResourcesAvailablePerUser.userid
由于OpenAuth数据库与我的数据库不同,所以我的数据库中没有用户表..
所以我的进一步问题是我必须通过在我自己的数据库中添加复制代码到开放代码并维护一个复制的用户表来修改上面的代码。基本上我不明白为什么我的用户表应该在外面维护我自己的数据库,如果我正确的话。
这是用于验证用户的OpenAuth代码
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{
FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie: false);
`//DO I HAVE TO ADD CODE HERE TO REPLICATE THE TABLE OF USERS IN MY OWN DB.`
string continueUrl = RegisterUser.ContinueDestinationPageUrl;
if (!OpenAuth.IsLocalUrl(continueUrl))
{
continueUrl = "~/";
}
Response.Redirect(continueUrl);
}