PDA

View Full Version : مشکل در صفحه لاگین



toytown
دوشنبه 28 دی 1394, 01:07 صبح
سلام دوستان

من دارم اولین طرح asp.net خودمو میزنم که به امید خدا تو یه شرکت مشغول ب کار بشم الان صفحه لاگینمو طراحی کردم تقزیبا درست کار میکنه من طوری نوشتم که اگه تو صفحه لاگین کرد به آدرس پنل ادمین هدایت بشه وقتی یوزر و پسورد درست نباشه خطا میده ولی اگه یوزر و پسورد ادمین رو وارد میکنم خطایی نمیده ولی به جای پنل اصلی وارد صفحه لاگین میشه کد هایی که نوشتم رو همراه پروژه ضمیمه میکنم لطفا کمکم کنید مشکلم حل بشه یه دنیا ممنون میشم

اول یه کلاس roleprovider ساختم با این کد ها:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using News_Project_Web.Models;

namespace News_Project_Web.classess
{
public class MyProvider : RoleProvider
{
private Models.Db_WebEntities db = new Db_WebEntities();
public override void AddUsersToRoles(string[] usernames, string[] roleNames)
{
throw new NotImplementedException();
}

public override string ApplicationName
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}

public override void CreateRole(string roleName)
{
throw new NotImplementedException();
}

public override bool DeleteRole(string roleName, bool throwOnPopulatedRole)
{
throw new NotImplementedException();
}

public override string[] FindUsersInRole(string roleName, string usernameToMatch)
{
throw new NotImplementedException();
}

public override string[] GetAllRoles()
{
throw new NotImplementedException();
}

public override string[] GetRolesForUser(string username)
{
int userId = int.Parse(username);
var result = (from u in db.Tbl_Users
join r in db.Tbl_Role on u.RoleID equals r.RoleID
where u.UserID == userId
select r.RoleName).ToArray();
return result;
}

public override string[] GetUsersInRole(string roleName)
{
throw new NotImplementedException();
}

public override bool IsUserInRole(string username, string roleName)
{
throw new NotImplementedException();
}

public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)
{
throw new NotImplementedException();
}

public override bool RoleExists(string roleName)
{
throw new NotImplementedException();
}
}
}



این کد های webconfig اصلیمه


<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrame workSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<authentication mode="Forms">
<forms name="News_Project_Web" timeout="43200" defaultUrl="/AdminPanel/Default.aspx" loginUrl="/login.aspx"/>
</authentication>
<roleManager enabled ="true" defaultProvider="MyProvider">
<providers>
<clear/>
<add name="MyProvider" type="News_Project_Web.classess.MyProvider" />
</providers>
</roleManager>
<httpRuntime targetFramework="4.5" />
</system.web>
<connectionStrings>
<add name="Db_WebEntities" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;p rovider connection string=&quot;data source=.;initial catalog=Db_Web;integrated security=True;MultipleActiveResultSets=True;App=En tityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectio nFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>

<appSettings>
<add key="ValidationSettings:Unobtrusivevalidationmode" value="none"/>
</appSettings>


</configuration>



این webconfig ادمین پنلمه


<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="Admin"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>




اینم کد های صفحه لاگینمه

using System;
using System.Collections.Generic;
using System.EnterpriseServices;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using News_Project_Web.Models;

namespace News_Project_Web
{
public partial class Login : System.Web.UI.Page
{
private Models.Db_WebEntities db = new Db_WebEntities();



protected void Page_Load(object sender, EventArgs e)
{
Page.Title = "login";

}

protected void CustomValidator1_OnServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = (from u in db.Tbl_Users
where u.Username == txtuser.Text.Trim()
where u.Password == txtpassword.Text
select u).Any();
}

protected void btnLogin_OnClick(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(3000);
if (Page.IsValid)
{
var user =
(from u in db.Tbl_Users where u.Username == txtuser.Text && u.Password == txtpassword.Text select u)
.FirstOrDefault();
if (user != null)
{
FormsAuthentication.RedirectFromLoginPage(user.Use rID.ToString(),Save.Checked);
}
}
}
}
}


خواهش میکنم کمک کنید مشکل منم حل بشه لطفا اینم لینک دانلود پروژه


http://toytown.persiangig.com/progs/News_Project_Web.rar

toytown
سه شنبه 29 دی 1394, 10:02 صبح
کسی متوجه مشکل این کد نشد؟؟؟