Üyelik Sağlayıcısı çalışmasına çalışıyorum.ASP.NET Üyeliği: kullanıcı oturum açmış olarak nasıl ayarlanacağı
Şimdiye kadar var:
<asp:Login ID="Login1" runat="server" OnAuthenticate="Login1_Authenticate">
</asp:Login>
arayarak: Ben Doğru giriş/şifre girerseniz
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
if(Membership.ValidateUser(Login1.UserName, Login1.Password))
{
Response.Redirect("/admin/default.aspx");
// Set the user as logged in?
}
}
, ValidateUser fonksiyonu true döndürür. Yani sorum şu: Kullanıcıyı oturum açmış olarak nasıl ayarlayabilirim?
yaptığım benim sayfalarında bu test ediyorum:
protected void Page_Load(object sender, EventArgs e)
{
if (Membership.GetUser()==null)
{
Response.Redirect("/admin/login.aspx");
}
// else "you are logged in, congratulations"
}
varsayılan fonksiyonları kullanılmış olurdu, ama sadece çalışmıyor ve bir google arama beni ben aslında kod değiştirme işleminden zaman kazandıracak düşündürdü tüm bunlar kendim.
Her şey yardımcı olacaktır!
EDIT EDIT: Kabul edilen yanıtla ilgili olarak, "oturum açmış olarak kullanıcı nasıl ayarlanacağı" doğrudur ve iyi çalışır. Benim özel problemimi çözmedi ama sadece bir parçasını. Düşüncelerinizi düşündüğünüz düşünürseniz, ilginç işaretçiler bulacaksınız.
DÜZENLEME 2 ve çözüm: Tamam Sonunda tüm yorumlar sayesinde çalıştım.
protected void Page_Load(object sender, EventArgs e)
{
if (!Request.IsAuthenticated)
{
Response.Redirect("/admin/login.aspx");
}
Giriş: Çıkış: Giriş durumunuz denetler
Sayfa: İşte o beklediğim daha basittir, ne yaptığını
protected void LoginStatus1_Logout(object sender, LoginCancelEventArgs e)
{
FormsAuthentication.SignOut();
Response.Redirect("/admin/login.aspx");
}
}
web.config:
<authentication mode="Forms" />
oturum açma:
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
if(Membership.ValidateUser(Login1.UserName, Login1.Password))
{
FormsAuthentication.SetAuthCookie(Login1.UserName, true);
Response.Redirect("/admin/default.aspx");
}
}
hala if (Membership.GetUser() == nu tarafından catched olsun II). Giriş durumunu başka bir şekilde almaya çalışmalı mıyım? – marcgg
IMO, yalnızca Login.aspx sayfasında bu giriş bilgisiyle ilgilenmelisiniz. SetAuthCookie çalışıyor, daha önce kullandım. Eğer sizin için işe yaramıyorsa, kodunuzda başka bir yerde başka bir şey vardır: ( – Gromer
Tüm kodum orada. Giriş sayfasından başka bir yerde yapmaya çalıştığım şey "eğer Giriş yapmadınız, daha sonra giriş sayfasına yönlendirme ". – marcgg