public async Task <LoginViewModel> Login([FromBody] LoginParam param) { string md5pwd = SafeHelper.MD5TwoEncrypt(param.PassWord); T_UserInfo userInfo = await _userService.FindAsync(u => u.UserName == param.UserName && u.PassWord == md5pwd); if (userInfo == null) { throw new UserFriendlyException("用户名或密码错误"); } JwtModel jwtModel = new JwtModel { IsAdmin = userInfo.IsAdmin, UserId = userInfo.Id, NickName = userInfo.NickName, UserName = userInfo.UserName, Expiration = TimeSpan.FromSeconds(60 * 60), Role = userInfo.IsAdmin ? string.Join(",", ConstInfo.ClientPolicy, ConstInfo.AdminPolicy) : ConstInfo.ClientPolicy }; var result = JwtHelper.BuildJwtToken(jwtModel); result.NickName = userInfo.NickName; result.AvatarUrl = userInfo.AvatarUrl; result.UseMdEdit = userInfo.UseMdEdit; return(result); }
private OperationResult ServerLogin(string method, string brokerId, string userId, string password, AccountSettings acctSettings = null) { LoginParam connParam = new LoginParam() { BrokerId = brokerId, UserId = userId, Password = password, AcctSettings = acctSettings }; byte[] param_data = DataTranslater.Serialize(connParam); byte[] ret_data = Request(method, param_data); if (ret_data != null) { OperationReturn rt = DataTranslater.Deserialize <OperationReturn>(ret_data); return(new OperationResult { Success = rt.Success, ErrorMessage = rt.ErrorMessage }); } else { return new OperationResult { Success = false, ErrorMessage = "Returned data (Login) is invalid" } }; }
/// <summary> /// login /// </summary> /// <param name="loginParam"></param> /// <returns></returns> ResponseResult ISysUserService.Login(LoginParam loginParam) { var user = SysUserRepository.GetEntity(loginParam.LoginName); if (user == null) { Result.Msg = "账号或密码错误"; Result.Code = ResponseStatusCode.ERROR; return(Result); } var enPassword = KeyDerivationHelper.GetEncriptPassword(loginParam.Password, user.Salt); // byte[]存到binary =》 从十进制转换成了十六进制 if (!user.Password.SequenceEqual(enPassword)) { Result.Msg = "账号或密码错误"; Result.Code = ResponseStatusCode.ERROR; return(Result); } var token = JwtHelper.IssueJWT(new TokenModel() { Uid = user.Id }, APIAppsetting.JWTSecretKey); var path = SysFileRelationService.GetUserHeadImgPath(user.Id, Model.Enum.UploadType.UserPicture); Result.Data = new { token, name = user.Name, avatar = path, email = user.Phone }; Result.Msg = "登录成功"; Result.Code = ResponseStatusCode.OK; return(Result); }
public async Task <Result <object> > LogIn([FromBody] LoginParam param) { LoginReply reply; try { reply = await this.client.LoginAsync(new LoginRequest() { UserName = param.UserName, PassWord = param.Password }); } catch (Exception) { return(Result.FailResult("服务当前不可用", 503)); } if (reply.Success) { this.HttpContext.Request.Headers.TryGetValue(HeaderNames.UserAgent, out StringValues ua); return(Result <object> .SuccessReuslt(new { accessToken = this.tokenProvider.CreateAccessToken(reply.Id.ToString()), refreshToken = this.tokenProvider.CreateRefreshToken(reply.Id.ToString(), ua) })); } else { return(Result.FailResult(reply.Message)); } }
public IHttpActionResult EditPassword([FromBody] LoginParam password) { bool found = false; if (TaxiRepository.Instance.userLogged || TaxiRepository.Instance.dispecherLogged) { foreach (var item in TaxiRepository.Instance.TaxiServiceRepository.Users) { if (item.Username != null) { if (item.Username == TaxiRepository.Instance.signedIn.Username) { item.Password = password.Password; found = true; } } } if (found) { TaxiRepository.Instance.SignedUp[TaxiRepository.Instance.signedIn.Username].Password = password.Password; TaxiRepository.Instance.TaxiServiceRepository.SaveChanges(); return(Ok()); } if (TaxiRepository.Instance.SignedUp.ContainsKey(TaxiRepository.Instance.signedIn.Username)) { TaxiRepository.Instance.SignedUp[TaxiRepository.Instance.signedIn.Username].Password = password.Password; return(Ok()); } } else if (TaxiRepository.Instance.driverLogged) { foreach (var item in TaxiRepository.Instance.TaxiServiceRepository.Drivers) { if (item.Username != null) { if (item.Username == TaxiRepository.Instance.signedInD.Username) { item.Password = password.Password; found = true; } } } if (found) { TaxiRepository.Instance.SignedUpD[TaxiRepository.Instance.signedInD.Username].Password = password.Password; TaxiRepository.Instance.TaxiServiceRepository.SaveChanges(); return(Ok()); } if (TaxiRepository.Instance.SignedUpD.ContainsKey(TaxiRepository.Instance.signedInD.Username)) { TaxiRepository.Instance.SignedUpD[TaxiRepository.Instance.signedInD.Username].Password = password.Password; return(Ok()); } } return(NotFound()); }
public IActionResult Login( [Required][FromBody] LoginParam loginParam ) { var handler = new JwtSecurityTokenHandler(); var claims = new[] { new Claim(ClaimTypes.Name, loginParam.Username) }; var subject = new ClaimsIdentity(claims); var credentials = new SigningCredentials( JwtSecurityConfiguration.SecurityKey, SecurityAlgorithms.HmacSha256); var token = handler.CreateJwtSecurityToken( audience: loginParam.Username, issuer: JwtSecurityConfiguration.Issuer, subject: subject, signingCredentials: credentials); var tokenText = handler.WriteToken(token); var result = new { token = tokenText }; return(Ok(result)); }
public async Task <IActionResult> Login([FromBody] LoginParam loginParam) { User user; IActionResult response = Unauthorized(); if (loginParam.Username.Equals(_AdminUsername) && loginParam.Password.Equals(_AdminPassword)) { user = new User { FirstName = "Admin", LastName = "Admin", }; } else { user = await _userAppService.ValidateLogin(loginParam.Username, loginParam.Password); } if (user != null) { var tokenString = GenerateJSONWebToken(user); response = Ok(new { token = tokenString }); } return(response); }
public ActionResult Login(LoginParam param, string isBer) { var result = ActionJsonResult.Create(); using (var db = DbHelper.Create()) { var user = db.Tb_Users.FirstOrDefault(u => u.UserName == param.UserName); if (user?.Password != param.Psw) { result.Failed("用户或密码错误"); } else if (user.Enabled == 0) { result.Failed("用户已被禁用"); } else { //保存Cookie HttpCookie cookie = new HttpCookie("Tb_Users"); cookie.Values.Add("UserName", HttpUtility.UrlEncode(param.UserName)); cookie.Values.Add("PassWord", param.Psw); cookie.Values.Add("IsBer", isBer); Response.AppendCookie(cookie); //保存当前登录用户 this.Save(user); //?获取用户菜单 var menuReader = new MenuReader(user); menuReader.LoadMenus(GetMenuJson()); this.Save(SessionKeys.UserPermissionDic, menuReader.PermissionItems); this.Save(SessionKeys.Menus, menuReader.Menus); result.Success("/home/main"); } } return(result.ToJson()); }
public virtual IHttpActionResult Register(RegisterRequest registerRequest) { //todo: Captcha for bots or not?! if (registerRequest == null) { return(BadRequest("No body found in the request")); } var returnUrl = registerRequest.ReturnUrl; if (string.IsNullOrWhiteSpace(returnUrl) || !UrlFormatter.IsReturnUrlValid(RequestUtils.GetBaseUrl(Request).ToString(), returnUrl)) { returnUrl = MyAccountUrlProvider.GetMyAccountUrl(new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo }); } var registerParam = new CreateUserParam { Username = registerRequest.Username, Password = registerRequest.Password, Email = registerRequest.Email, FirstName = registerRequest.FirstName, LastName = registerRequest.LastName, PhoneNumber = registerRequest.PhoneNumber, PasswordQuestion = registerRequest.PasswordQuestion, PasswordAnswer = registerRequest.PasswordAnswer, ReturnUrl = returnUrl, Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo, GuestCustomerId = ComposerContext.CustomerId }; var createAccountViewModel = MembershipViewService.RegisterAsync(registerParam).Result; if (!createAccountViewModel.IsSuccess) { return(Ok(createAccountViewModel)); } var loginParam = new LoginParam { CultureInfo = ComposerContext.CultureInfo, Scope = ComposerContext.Scope, GuestCustomerId = ComposerContext.CustomerId, Username = registerRequest.Email, Password = registerRequest.Password }; var loginViewModel = MembershipViewService.LoginAsync(loginParam).Result; ComposerContext.IsGuest = false; ComposerContext.CustomerId = createAccountViewModel.CustomerId; FormsAuthentication.SetAuthCookie(createAccountViewModel.Username, true, WebsiteContext.WebsiteId.ToString()); return(Ok(createAccountViewModel)); }
public IActionResult CheckLogin([FromBody] LoginParam param) { try { string username = param.Username ?? throwStringAssert("用户名不能为空"); string password = param.Password ?? throwStringAssert("密码不能为空"); string code = param.Code ?? throwStringAssert("验证码不能为空"); var vcodeSession = Request.Cookies["vcode-session"]; if (string.IsNullOrEmpty(vcodeSession)) { return(Json(new { success = false, message = "验证码已失效" })); } var state = verifyCodeService.VerifyCode(vcodeSession, code); switch (state) { case VerifyCodeService.State.WrongCode: return(Json(new { success = false, message = "验证码错误" })); case VerifyCodeService.State.Expired: return(Json(new { success = false, message = "验证码已过期" })); case VerifyCodeService.State.Invalid: return(Json(new { success = false, message = "验证信息错误" })); } UserEntity userEntity = userService.CheckPassword(username, password); var orgs = userOrganizeService.IQueryable().Where(it => it.User.Id == userEntity.Id).ToList(); var roles = roleService .IQueryable().ToList(); var myroles = roles .Where(it => orgs.Any(org => it.OrganizeCategoryId == org.Organize.CategoryId && it.OrganizeDutyLevel == org.DutyLevel)) .ToList(); var permissions = new HashSet <string>(); foreach (var roleEntity in myroles) { var menus = roleEntity.AvailableMenus.Split(",", StringSplitOptions.RemoveEmptyEntries); foreach (var menu in menus) { permissions.Add(menu); } } logger.WriteDbLog(DbLogType.Login.ToString(), true, "登录成功"); return(Json(new { success = true, data = LoginExtension.CreateJwtToken(userEntity, permissions.ToArray()) })); } catch (Exception ex) { var msg = "登录失败," + ex.Message; logger.WriteDbLog(DbLogType.Login.ToString(), false, msg); return(Json(new { success = false, message = msg })); } }
public IHttpActionResult Block([FromBody] LoginParam username) { bool found = false; if (TaxiRepository.Instance.UserExists(username.Username)) { foreach (var item in TaxiRepository.Instance.TaxiServiceRepository.Users) { if (item.Username != "" || item.Username != null) { if (item.Username == username.Username && item.Role != UserRole.Dispatcher) { found = true; item.Blocked = true; } } } foreach (var item in TaxiRepository.Instance.SignedUp.Values) { if (item.Username == username.Username && item.Role != UserRole.Dispatcher) { item.Blocked = true; } } if (found) { TaxiRepository.Instance.TaxiServiceRepository.SaveChanges(); return(Ok()); } } else if (TaxiRepository.Instance.DriverExists(username.Username)) { foreach (var item in TaxiRepository.Instance.TaxiServiceRepository.Drivers) { if (item.Username == username.Username) { found = true; item.Blocked = true; } } foreach (var item in TaxiRepository.Instance.SignedUpD.Values) { if (item.Username == username.Username) { found = true; item.Blocked = true; } } if (found) { TaxiRepository.Instance.TaxiServiceRepository.SaveChanges(); return(Ok()); } } return(NotFound()); }
public OutPutData Login([FromBody] LoginParam param) { var password = param.Password.ToMD5(); if (this.usersService.CurrentRepository.Exist(e => e.UserName == param.UserName && e.Password == password)) { return(Success("登陆成功", usersService.GetJwtToken(param.UserName, redisHelper))); } return(Fail("用户名或密码不正确")); }
public async Task <IActionResult> Login(LoginParam data) { var user = await repo.Login(data); if (user == null) { return(Unauthorized()); } return(Ok(user)); }
public virtual bool login(LoginParam param) { bool ret = mcworld_client_corePINVOKE.IGameDef_login(swigCPtr, LoginParam.getCPtr(param)); if (mcworld_client_corePINVOKE.SWIGPendingException.Pending) { throw mcworld_client_corePINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
public virtual IHttpActionResult SignIn(LoginViewModel loginRequest) { if (loginRequest == null) { return(BadRequest("Request body cannot be null")); } var returnUrl = loginRequest.ReturnUrl; if (string.IsNullOrWhiteSpace(returnUrl) || !UrlFormatter.IsReturnUrlValid(RequestUtils.GetBaseUrl(Request).ToString(), returnUrl)) { returnUrl = MyAccountUrlProvider.GetMyAccountUrl(new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo }); } var loginParam = new LoginParam { Password = loginRequest.Password, Username = loginRequest.Username, Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo, ReturnUrl = returnUrl, GuestCustomerId = ComposerContext.CustomerId, }; var loginViewModel = MembershipViewService.LoginAsync(loginParam).Result; if (!loginViewModel.IsSuccess) { return(Ok(loginViewModel)); } ComposerContext.CustomerId = loginViewModel.CustomerId; ComposerContext.IsGuest = false; if (loginRequest.IsRememberMe) { FormsAuthentication.SetAuthCookie( loginViewModel.Username, SiteConfiguration.CookieAccesserSettings.TimeoutInMinutes, loginRequest.IsRememberMe, WebsiteContext.WebsiteId.ToString(), SiteConfiguration.CookieAccesserSettings.RequireSsl); } else { FormsAuthentication.SetAuthCookie(loginViewModel.Username, true, WebsiteContext.WebsiteId.ToString()); } return(Ok(loginViewModel)); }
public async Task <object> Login([FromBody] LoginParam loginParam) { var result = await signInManager.PasswordSignInAsync(loginParam.UserName, loginParam.Password, false, false); if (result.Succeeded) { var user = await userManager.FindByNameAsync(loginParam.UserName); return(await generateToken(user)); } throw new ApplicationException("Login Failed"); }
public Result Post([FromBody] LoginParam param) { Result result = new Result(); //初始化 NETClient.Init(disConnectCallBack, IntPtr.Zero, null); if (IntPtr.Zero == loginID) { ushort port = 0; try { port = Convert.ToUInt16(param.wDVRPort); } catch { result.Message = "Input port error"; return(result); } device = new NET_DEVICEINFO_Ex(); loginID = NETClient.Login(param.pchDVRIP, port, param.pchUserName, param.pchPassword, EM_LOGIN_SPAC_CAP_TYPE.TCP, IntPtr.Zero, ref device); if (IntPtr.Zero == loginID) { result.Message = NETClient.GetLastError(); return(result); } else { result.Success = true; result.Message = "登录成功"; return(result); } } else { if (realLoadID != IntPtr.Zero) { NETClient.StopLoadPic(realLoadID); realLoadID = IntPtr.Zero; } bool lo = NETClient.Logout(loginID); if (!lo) { result.Message = NETClient.GetLastError(); return(result); } loginID = IntPtr.Zero; NETClient.Cleanup(); result.Success = true; result.Message = "登出成功"; return(result); } }
void tryToLoginGame() { AccountData ad = Native.mInstace.m_thridParty.GetAccountData(); EngineModel engineModel = Core.Data.getIModelNetwork <EngineModel>(); Server chosen = engineModel.ChosenServer; HttpClient.BaseUrl = chosen.url; LoginParam loginParam = new LoginParam(ad, engineModel.token, chosen.sid.ToString()); SendHttpRequest(RequestType.LOGIN_GAME, loginParam); }
public void Dispatch(byte[] msg) { PKG pkg = GetPKG <PKG>(msg); switch (pkg.opcode) { case OPCODE.ID.ClientLogin: { switch ((OPCODE.ClientLoginType)pkg.childid) { case OPCODE.ClientLoginType.RtGameServerInfo: { ClientToLogin_RtGameServerInfo cmd = GetPKG <ClientToLogin_RtGameServerInfo>(msg); LoginParam param = new LoginParam(); param.user = mLoginParam.user; param.psw = mLoginParam.psw; param.host = cmd.host; param.port = cmd.port; ConnectGameServer(param); } break; } } break; case OPCODE.ID.CenterClient: { switch ((OPCODE.CenterClientType)pkg.childid) { case OPCODE.CenterClientType.RtAccount: { } break; case OPCODE.CenterClientType.RtLogin: { rtLoginGame cmd = GetPKG <rtLoginGame>(msg); if (cmd.errorCode == LoginErrorCode.Sucessed) { Debug.Log("Server=>Connected game server successfully!"); } } break; } } break; } }
public ApiResponse <string> Index(LoginParam loginParam) { var user = _userService.FindUsers(new Users { Username = loginParam.Username, Password = loginParam.Password }).FirstOrDefault(); if (user != null) { return(ApiResponse <string> .Ok(GenerateJsonWebToken(user))); } return(ApiResponse <string> .Fail("登录失败")); }
public async Task <IHttpActionResult> Login([FromBody] LoginParam param) { try { var period = DateTimeOffset.UtcNow.AddHours(24 * 7).ToUnixTimeSeconds(); var result = await this._authService.Login(param.UserId, param.Password, period); return(this.JsonResult(result)); } catch (Exception ex) { return(this.JsonResult(ex.ToJson())); } }
public override IAuthIdentity Login(LoginParam param) { try { var user = base.Login(param); SaveCookie(user); return(user); } catch (Exception ex) { Common.LogHelper.WriteLog(this.GetType(), ex); throw ex; } }
private void btnInit_Click(object sender, EventArgs e) { var url = comboBox2.Text; var str = (string)comboBox1.SelectedItem; Task.Run(() => { reptile = Reptile.Instance(); Console.WriteLine("Init WorkManager"); workManager = new IbcWorkManager(); workManager.Init(); var id = Convert.ToInt32(str.Substring(4)); reptile.Init(workManager, dicServerLine[id].ServerIP, dicServerLine[id].ServerPort); reptile.Start(); subsManager = IocUnity.GetService <ISubscriptionManager>("SubscriptionManager"); matchManager = IocUnity.GetService <IMatchEntityManager>("MatchEntityManager"); if (string.IsNullOrEmpty(user) || string.IsNullOrEmpty(passWord)) { Console.WriteLine("Has no user or passWord"); return; } var loginParam = new LoginParam() { Username = user, Password = passWord, WebUrl = url, TakeMode = TakeMode.Pull }; subsManager.Subscribe(loginParam); var ibcSyncTimeParam = new NormalParam() { Stage = (int)MatchStageEnum.Live, TakeMode = TakeMode.Push, SubscribeType = "time", TimeParam = new SyncTimeParam() { id = "c1", rev = 0, condition = CommonTools.ToUnixTimeSpan(DateTime.Now) + "" } }; subsManager.Subscribe(ibcSyncTimeParam); }); }
public virtual IAuthIdentity Login(LoginParam param) { string password = DESEncrypt.MD5Encrypt(param.Password).ToLower(); var user = dataAccess.First <Account>(u => u.UserName == param.UserName && u.Password.ToLower() == password); if (user == null) { throw new ErrorMsgException("用户名或者密码错误"); } if (user.IsDisabled) { throw new ErrorMsgException("用户已经被禁用,请联系管理员"); } return(new BLL.Auth.Identity(user)); }
static void Main(string[] args) { Net net = new Net(); LoginParam param = new LoginParam(); param.user = "******"; param.psw = "1111111"; param.host = "127.0.0.1"; param.port = 15299; net.ConnectLoginServer(param); while (true) { net.Update(); System.Threading.Thread.Sleep(10); } }
/// <summary> /// 登录验证 /// </summary> /// <param name="param"></param> /// <returns></returns> public async Task <BaseResult> LoginCheck(LoginParam param, HttpContext context) { param.Password = DEncrypt.Encrypt(param.Password); var data = await _usersRep.FirstOrDefaultAsync(" and UserName=@UserName and Password=@Password", param); if (data != null) { context.SetCookie(param.UserName); SetUserInfoSession(param.UserName, data); return(new Success("登陆成功")); } else { return(new Fail("用户名或密码错误")); } }
public bool LoginServer(uint uid, string name, uint roleID, ulong loginSession, int wid, string token) { var loginParam = new LoginParam(); loginParam.uid = uid; loginParam.name = name; loginParam.roleid = roleID; loginParam.login_session = loginSession; loginParam.wid = wid; loginParam.token = token; bool result = _GameDef.login(loginParam); LogHelper.DEBUG("CppCore", "Login result={0}", result); return(result); }
public LoginPageViewModel(INavigationService navigationService) : base(navigationService) { _navigationService = navigationService; _restService = new RestService(); _applicationProperties = new ApplicationProperties(); LoginParam = new LoginParam(); //新規登録ページへ遷移 NavigationSignUpPageCommand = new DelegateCommand(() => { _navigationService.NavigateAsync("SignUpPage"); }); //ログインボタンの動作 LoginCommand = new DelegateCommand(async() => { //ローディング情報の表示 LoadingLogin = true; //ログインAPIのコール LoginParam = await _restService.LoginUserDataAsync(UserConstants.OpenUserLoginEndPoint, LoginUserId, LoginPassword); //ログイン処理にエラーが無く追加が実行されていれば if (LoginParam.HasError == false) { //token情報を保持する var tokenData = LoginParam.TokenData; _applicationProperties.SaveToProperties <TokenData>("token", tokenData); //ローカルにuserId情報を保持する _applicationProperties.SaveToProperties <string>("userId", LoginUserId); //ローディング情報を非表示にする LoadingLogin = false; //会議情報トップページに遷移する await _navigationService.NavigateAsync("/NavigationPage/MeetingDataTopPage"); } else { //ローディング情報を非表示にする LoadingLogin = false; } }); }
/// <summary> /// 登录 /// </summary> /// <param name="parms"></param> /// <returns></returns> public bool Login(LoginParam parms) { parms.Password = EncryptHelper.GetMD5(parms.Password); var user = Query(t => t.UserName == parms.UserName && t.Password == parms.Password).FirstOrDefault(); if (user != null) { UserModel currentModel = new UserModel(); currentModel.UserId = user.ID.ToString(); currentModel.Name = user.UserName; currentModel.NickName = user.NickName; string json = JsonHelper.ToJSON(currentModel); //缓存登录信息 CacheHelper.Cookie.Set(BaseConfig.CookieLoginUserInfo, EncryptHelper.Encryption(json), 1440); } return(user == null ? false : true); }
private void btnRequest_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.txtURL.Text)) { return; } var client = new UnivarsalWebClient(); try { switch (this.urlSettings.SelectedURLSetting.Name) { case "GitHub": new GithubLoginHelper(client).Login(new LoginParam()); break; //まだ動かない //case "ヤフーファイナンス": // var paramY = new YahooFinanceLoginParam(); // paramY.StartUrl = this.urlSettings.SelectedURLSetting.Values[1]; // paramY.LoginUrl = this.urlSettings.SelectedURLSetting.Values[2]; // paramY.UserName = this.urlSettings.SelectedURLSetting.Values[3]; // paramY.Password = this.urlSettings.SelectedURLSetting.Values[4]; // new YahooFinanceLoginHelper(client).Login(paramY); // break; case "バーボンハウス": var paramB = new LoginParam(); paramB.UserName = this.urlSettings.SelectedURLSetting.Values[1]; paramB.Password = this.urlSettings.SelectedURLSetting.Values[2]; new BourbonHouseLoginHelper(client).Login(paramB); break; default: return; } var responseData = client.DownloadString(this.urlSettings.SelectedURLSetting.Values.First()); this.txtResult.Text = responseData; } catch (Exception except) { this.txtResult.Text = except.Message; } }
/*! \name Authentication Handling Methods to log in/out, and store/set credentials. */ //@{ /*! \example Login.cs * This is an example on how to use the Bugzproxy.Server.Login call, which can also be used * to test if your login works with a given server. */ /// <summary>Login to the server.</summary> /// <remarks> /// <para>Most servers require you to log in before you can retrieve information /// other than the version, let alone work with bugs, products or components.</para> /// <para>Currently, the <paramref name="remember"/> parameter is ignored by /// Bugzproxy.</para> /// </remarks> /// <param name="username">The Bugzilla username to use</param> /// <param name="password">The Bugzilla password to use</param> /// <param name="remember">Same meaning as the remember checkbox of the web /// interface.</param> /// <returns>The server's internal ID number for this user.</returns> /// <exception cref="InvalidOperationException">This exception will be thrown /// if trying to login, while already logged in.</exception> //when remember is fixed, we should copy some words about it from the bugzilla //API documentation. public int Login(string username, string password, bool remember) { if (LoggedIn) { throw new InvalidOperationException ("Login: Already logged in"); } LoginParam param = new LoginParam (); param.login = username; param.password = password; // param.remember = remember; int res = Proxy.Login (param).id; LoggedIn = true; // prev statement will throw if failed. return res; // I have no idea what the user want to do with that. }