找回密码
 立即注册

QQ登录

只需一步,快速开始

鲁磊

高级会员

95

主题

342

帖子

1797

积分

高级会员

积分
1797
鲁磊
高级会员   /  发表于:2024-5-11 16:37  /   查看:3288  /  回复:12
30金币
本帖最后由 鲁磊 于 2024-5-11 16:46 编辑

这是按照官方给的单点登录的案例,c#开发的单点登录,就是一个按钮,点击后单点登录活字格页面,现在的问题时如果:configBaseUrl的值也就是活字格页面的url如果是http://192.168.31.250/运行管理平台   就可以正常单点登录活字格页面,如果是:http://192.168.31.250/运行管理平台/灭菌监测分析,就会提示(代码如下),灭菌监测分析这个页面权限设置的任何人,网页里正常是可以直接打开这个这个界面的



  1.   public class SAPPreOrderWebService
  2.         {
  3.             public void OpenPage()
  4.             {
  5.                 string configBaseUrl = ConfigurationManager.AppSettings["BaseUrl"];  // 从config中BaseUrl进行配置

  6.                 if (string.IsNullOrEmpty(configBaseUrl))
  7.                 {
  8.                     configBaseUrl = Global.GlobalVariables.DatabaseInterface.HNXYSAPPreOrderWebServiceADD;  // 在数据接口-SAP物资订接口地址中设置
  9.                 }

  10.                 // configBaseUrl 现在包含了从配置文件或默认值中获取的地址



  11.                 var userName = LoginUser.CurrentLoginUser.UserInfo.LoginName;
  12.                 var password = Global.GlobalVariables.DatabaseInterface.HNXYSAPPreOrderWebServicePassword; // 改为从 Global.GlobalVariables.DatabaseInterface.password 中获取密码,在数据接口-SAP物资订接口密码中设置

  13.                 HttpWebRequest rq = HttpWebRequest.Create(configBaseUrl + "/SSO/GetUserToken") as HttpWebRequest; // 拼接SSO/GetUserToken URL 的请求
  14.                 rq.Method = WebRequestMethods.Http.Post; // 请求方法为 POST
  15.                 rq.Accept = "application/json"; // 请求内容
  16.                 rq.ContentType = "application/json"; // 请求内容
  17.                 var loginStr = "{userName:"" + userName + "", password:"" + password + ""}";
  18.                 var data = Encoding.UTF8.GetBytes(loginStr); // 转为UFT-8格式
  19.                 using (Stream stream = rq.GetRequestStream())
  20.                 { // 使用流发送请求
  21.                     stream.Write(data, 0, data.Length);
  22.                 }
  23.                 var response = rq.GetResponse(); // 获取请求响应
  24.                 var token = new StreamReader(response.GetResponseStream()).ReadToEnd(); // 获取响应的 token
  25.                 if (token.StartsWith("Error:"))
  26.                 { // 如果token的开头以“Error”开头,说明响应有问题报错。
  27.                     MessageBox.Show(token);
  28.                     return;
  29.                 }
  30.                 Process.Start(configBaseUrl + "?token=" + token); // 如果没有报错,就单点登录进入活字格页面
  31.             }
  32.         }
复制代码

是不是请求方式的问题,是不是应该改成get?

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

configBaseUrl设置为http://192.168.31.250/运行管理平台

12 个回复

倒序浏览
最佳答案
最佳答案
陈城
初级会员   /  发表于:2024-5-11 16:37:34
来自 8#
configBaseUrl设置为http://192.168.31.250/运行管理平台
  1. Process.Start(configBaseUrl +"/灭菌监测分析"+ "?token=" + token);
复制代码
回复 使用道具 举报
豪~豪悬赏达人认证 活字格认证
银牌会员   /  发表于:2024-5-11 16:52:07
2#
http://192.168.31.250/运行管理平台 --这个是应用路径,所以可以
http://192.168.31.250/运行管理平台/灭菌监测分析 --这个是加了页面名称,接口错了,然后不可以
所以得出结论不能加页面名称,不知道我说的对不对
回复 使用道具 举报
鲁磊
高级会员   /  发表于:2024-5-11 17:03:41
3#
豪~豪 发表于 2024-5-11 16:52
http://192.168.31.250/运行管理平台 --这个是应用路径,所以可以
http://192.168.31.250/运行管理平台/灭 ...

是的,不能直接打开页面吗?
回复 使用道具 举报
豪~豪悬赏达人认证 活字格认证
银牌会员   /  发表于:2024-5-11 17:05:01
4#
鲁磊 发表于 2024-5-11 17:03
是的,不能直接打开页面吗?

不能的,路径不对接口对不上,你可以单点登陆后在进行跳转
回复 使用道具 举报
鲁磊
高级会员   /  发表于:2024-5-11 17:08:50
5#
豪~豪 发表于 2024-5-11 17:05
不能的,路径不对接口对不上,你可以单点登陆后在进行跳转

应该怎么做可以自动跳转啊?这个页面还不能设置成默认界面
回复 使用道具 举报
豪~豪悬赏达人认证 活字格认证
银牌会员   /  发表于:2024-5-11 17:12:29
6#
  1. Process.Start(configBaseUrl + "?token=" + token +"&name=灭菌监测分析");
  2. //这样看看,然后活字格看看能不能接收到
复制代码


回复 使用道具 举报
豪~豪悬赏达人认证 活字格认证
银牌会员   /  发表于:2024-5-11 17:19:10
7#

测试了一下是可以的,然后在首页使用=GETURLQUERYVALUE("name")命令可以读取到参数,然后在跳转对应页面就行
回复 使用道具 举报
鲁磊
高级会员   /  发表于:2024-5-11 17:27:53
9#

不行,可能不是这个问题,因为我看了代码,是走到     var token = new StreamReader(response.GetResponseStream()).ReadToEnd(); // 获取响应的 token   这一步出的问题,还没有到打开网址那一步
回复 使用道具 举报
豪~豪悬赏达人认证 活字格认证
银牌会员   /  发表于:2024-5-11 17:30:19
10#
鲁磊 发表于 2024-5-11 17:27
不行,可能不是这个问题,因为我看了代码,是走到     var token = new StreamReader(response.GetRespon ...

那就是你token都还没有获取到

先请求可以百度C#怎么请求POST

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部