با عرض سلام
من توی پروژه ی web API ، توسط ajax مقادیر نام کاربری و رمز عبور رو به کنترلر ارسال می کنم، می خواهم اگر نام کاربری و رمز عبور در سیستم باشد، کاربر به صفحه ی اصلی وارد شود و اطلاعات وی برای او به نمایش در آید.
چگونه باید این کار را انجام دهم؟
تابع Ajax در جاوا اسکریپت:
function Login() { var _Username = $("#username").val(); var _Password = $("#password").val(); var _Data = { Username: _Username, Password: _Password }; ajax("User/UserLogin", _Data, LoginSuccess, LoginFail, "post"); } function LoginSuccess(response) { if (response !=0) { alert("Welcome! You will be redirected to Home page."); window.location = "../Home.html?ID=" + response; } else { alert("Invalid Username and / or Password!") } } function LoginFail() { alert("Access Denied : Connection to Data Base Failed!"); }
کد نوشته شده برای کنترلر :
public int UserLogin(UserLoginArgs _UserLoginArgs) { using (Proj161021Entities _Proj161021Entities = new Proj161021Entities()) { try { LoginInfo _LoginInfo = _Proj161021Entities.LoginInfo.Where(c => c.Username == _UserLoginArgs.Username && c.Password == _UserLoginArgs.Password).FirstOrDefault(); return _LoginInfo.UserID; } catch { return 0; } } } public class UserLoginArgs { public string Username { get; set; } public string Password { get; set; } }
با تشکر
شماباید از Api یک True یا False برگردونید و در سمت Ajax کنترل کنید و اگر تکراری بود به صفحه مورد نظر ریدارکت کنید
سلام
مشکل من آنجا است که نمی دانم چگونه اطلاعات بدست آمده از کاربر مانند ID وی را به صفحه ی ریدایرکت شده ارسال کنم؟ کاربر پس از وارد کردن اطلاعات، به درستی ریدایرکت می شود.
با تشکر
شما کاربر را به صفحه مورد نظر بفرستید و در اون صفحه نام کاربر لاگین شده با بدست بیارید
نیازی به ارسال کد نیست و این روش امن نیست
می شه روش انجام این کار رو توضیح بدین لطفا؟ اگه از کد
window.location = "../Home.html?ID=" + response;
استفتده نکنم، چه جوری می تونم در صفخه ی ریدایرکت شده، اطلاعات رو بدست بیارم؟
با تشکر
از چه تکنولوژی برای اهراز هویت استفاده کردید ؟
هنوز برای اهراز هویت کدی ننوشته ام، تازه پروژه های web API را آغاز کرده ام. فقط در کنترلر کاربر :
try { LoginInfo _LoginInfo = _Proj161021Entities.LoginInfo.Where(c => c.Username == _UserLoginArgs.Username && c.Password == _UserLoginArgs.Password).FirstOrDefault(); return _LoginInfo.UserID; } catch { return 0; }
اگر مقادیر در پایگاه داده وجود داشته باشد، عمل ریدایرکت شدن انجام می شود.
یک پروژه ی asp.net انجام داده ام و در آن اهراز هویت به روشی انجام می گیرد که شما در یک مقاله توضیح داده اید.
اگر از identity استفاده میکنید میتونید با استفاده از دستور User.Identity.name نام کاربر را بدست بیارید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)