• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Unity&Springboot实现本地登陆验证

springboot 搞代码 4年前 (2022-01-05) 30次浏览 已收录 0个评论
文章目录[隐藏]

本文主要介绍了Unity&Springboot服务器/本地登陆验证,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Springboot使用IDEA编译器

IDEA上实现登录验证

因为这里只能返回网页,但是我们需要返回登陆是否成功的数据所以下面还需要写一个请求方法。
如果登陆失败则将session域中的id删除,这样在unity判断是否登录成功时会直接按请求错误抓取

 //登录操作 @RequestMapping("/login") public String login(HttpServletRequest request, @RequestParam("userType") String userType, Map map,HttpSession session) { session.setAttribute("id",request.getParameter("id")); String id = session.getAttribute("id").toString(); String password = request.getParameter("password"); //如果是管理员登录则查询管理员信息表 if(userType.equals("0")){ Administrators administrator = administratorsService.login(id, password); if(administrator != null){ System.out.println("登陆成功"<p style="color:transparent">来源gao!daima.com搞$代!码网</p>); return "redirect:/ScheduleInfo"; }else { map.put("msg","账号或密码错误"); //如果登陆失败则将session域中的id删除,这样在unity判断是否登录成功时会直接按请求错误抓取 session.removeAttribute("id"); return "login"; } }else {      //如果是普通用户登录则查找普通用户表 Employees employee = employeesService.login(id, password); if(employee != null){ if (employeesService.findJobById(id).getJob().equals("巡检人员")){ System.out.println("登陆成功"); return "redirect:/xInfo"; }else { System.out.println("登陆成功"); return "redirect:/wInfo"; } }else { map.put("msg","账号或密码错误"); session.removeAttribute("id"); return "login"; } } } 

返回登录是否成功和登陆用户的id信息

这里使用 @ResponseBody注解,使返回的是数据而不是网页

 @RequestMapping("/getUserInfo") @ResponseBody public String getUserInfo(HttpSession session){ System.out.println("收到unity登录请求"); //因为登陆失败以后session域中的id会被删除,所以判断为null则登录失败 if(session.getAttribute("id") != null){ String id = session.getAttribute("id").toString(); System.out.println("登陆成功"); return id ; } else { System.out.println("登陆失败"); return null; } } 

Unity端的请求

一个简单的登陆注册界面

上脚本,看注释

 using System.Collections; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; using UnityEngine.Networking; public class HttpHelper : MonoBehaviour { //发出登录请求 private string postUrl = "http://47.xx.75.xx:8080/login";//如果是本地运行则将前面的47.96.75.29换成localhost //获得登录是否成功的数据,也就是运行上面第二个代码的内瓤 private string postUrl2 = "http://47.xx.75.xx:8080/getUserInfo"; public GameObject[] uis; public GameObject backLoginObj; public Text massage; public Text countText; public Text passwordText; private const string userType = "userType"; private const string userName = "id"; private const string password = "password"; public void loginTest() { //这个方法和登录按钮绑定,用于触发异步方法Post StartCoroutine("Post"); } [System.Obsolete] IEnumerator Post() { //发送登录表单,每个人不一样,根据自己需要的表单参数来,一般就是账号密码,这里的userType就是管理员和员工的分类,0是管理员,1是员工。 WWWForm form = new WWWForm(); form.AddField(userType, "0"); form.AddField(userName, countText.text); form.AddField(password, passwordText.text); //这里发出了登录请求 //利用UnityWebRequest通过请求路径这个和postman的操作类似,将表单发送出去 UnityWebRequest request = UnityWebRequest.Post(postUrl, form); yield return request.SendWebRequest(); if (request.isHttpError || request.isNetworkError) { Debug.LogError(request.error); } //这里获取了登录是否成功的数据 UnityWebRequest request2 = UnityWebRequest.Get(postUrl2); yield return request2.SendWebRequest(); //如果登陆失败的Session域中的id是空的,所以会报错,也就是判断登陆是否成功的依据。 if (request2.isHttpError || request2.isNetworkError) { massage.text = "登陆失败,账号或密码错误"; } else { //反之如果登录成功则获得返回的数据,这里就是用户的id string receiveContent = request2.downloadHandler.text; //这是个普通的ui操作,我的构想是如果登录成功则将这些ui隐藏只显示massage和一个返回键 foreach (GameObject ui in uis) { ui.SetActive(false); } massage.gameObject.SetActive(true); backLoginObj.SetActive(true); //如果返回的数据和用户输入时的账号一样时则判断登陆成功 if (receiveContent == countText.text) { massage.text = "登陆成功,欢迎管理员" + receiveContent; } else//反之登陆失败 { massage.text = "登陆失败,账号或密码错误"; } } StopCoroutine("Post"); } public void backLogin() { SceneManager.LoadScene("SampleScene"); } } 

最后的运行结果

到此这篇关于Unity&Springboot服务器/本地登陆验证的文章就介绍到这了,更多相关Unity&Springboot服务器/本地登陆验证内容请搜索gaodaima搞代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持gaodaima搞代码网

以上就是Unity&Springboot实现本地登陆验证的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Unity&Springboot实现本地登陆验证

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址