激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Unity&Springboot實現本地登陸驗證

Unity&Springboot實現本地登陸驗證

2021-10-21 10:59大可iii Java教程

本文主要介紹了Unity&Springboot服務器/本地登陸驗證,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Springboot使用IDEA編譯器

 

IDEA上實現登錄驗證

因為這里只能返回網頁,但是我們需要返回登陸是否成功的數據所以下面還需要寫一個請求方法。
如果登陸失敗則將session域中的id刪除,這樣在unity判斷是否登錄成功時會直接按請求錯誤抓取

//登錄操作
    @RequestMapping("/login")
    public String login(HttpServletRequest request, @RequestParam("userType") String userType, Map<String, Object> 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("登陸成功");
                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端的請求

一個簡單的登陸注冊界面

Unity&Springboot實現本地登陸驗證

Unity&Springboot實現本地登陸驗證

上腳本,看注釋

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實現本地登陸驗證

Unity&Springboot實現本地登陸驗證

到此這篇關于Unity&Springboot服務器/本地登陸驗證的文章就介紹到這了,更多相關Unity&Springboot服務器/本地登陸驗證內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_43778515/article/details/119034203

延伸 · 閱讀

精彩推薦
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7472021-02-04
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
主站蜘蛛池模板: 欧美精品一区二区久久久 | 性欧美极品xxxx欧美一区二区 | 免费观看一区二区三区视频 | 精品国产专区 | hd porn 4k video xhicial | 欧美在线观看黄色 | 久久人添人人爽人人爽人人片av | 日韩av在线网 | 神马久久精品综合 | 欧美黄色免费视频 | 天天夜干 | 一区二区三区日韩精品 | 日本欧美一区二区三区在线播 | 手机视频在线播放 | 九九热在线视频观看这里只有精品 | 国产亚洲精品久久久久5区 日韩一级片一区二区三区 国产精品久久久久av | 亚洲最大的成人网 | 亚洲成人入口 | 国产精选久久久 | 中文字幕 亚洲一区 | 亚洲生活片 | 欧美高清在线精品一区二区不卡 | 亚a在线 | jizzzxxxxhd| 国产精品亚洲欧美一级在线 | 欧美视频一二三区 | 精品一区二区免费 | 成人在线第一页 | 午夜男人免费视频 | 日本残忍极度灌浣肠视频 | 欧美精品毛片 | 欧美黄色一区 | h视频免费在线观看 | 日本一区视频 | 久草视频国产在线 | 成人福利软件 | 狠狠色成色综合网 | 午夜视频久久久 | 成人久久久久久久久久 | 日韩视频一区二区三区四区 | 九九热在线观看视频 |