Windows Server 2016 Rdweb设置默认域名

一、设置默认登录的域名

原图界面:

原登录界面是需要输入完整的“域\用户名”(例如:ZZ\test),这样对用户的使用体验不是很好。所以这里我们需要改成只输入“用户名”(例如:test)即可正常登录。

 实现思路:表单提交前提前设置好默认域名”与“用户名组合成完整的“域\用户名”后在提交

1、修改\RDWeb\Pages\zh-CN\login.aspx

这里将原标签中的"域\\用户名"改成“用户名

const string L_DomainUserNameLabel_Text = "域\\用户名:";

改成

const string L_DomainUserNameLabel_Text = "用户名:";

2、在\RDWeb\Pages\webscripts-domain.js文件中设置默认域名

   

 这里原来是判断用户是否有按照"域\用户名"格式输入,如果没有,则会报错。所以我们需要在判断条件的后面加上一个else分支根据默认域名”与“用户名组合成标准的"域\用户名"

 修改后的代码如下:

if ( -1 != strDomainUserName.indexOf("\\") )
 {
    strDomainName = strDomainUserName.substring( 0, strDomainUserName.indexOf("\\") );
 }
 else if ( -1 != strDomainUserName.indexOf("@") )
 {
    strDomainName = strDomainUserName.substring( strDomainUserName.indexOf("@") + 1, strDomainUserName.length );
 }
 else
 {
    //设置默认域名
    strDomainName = "ZZ";
    //组合完整的用户名(域\用户名)
    strDomainUserName = strDomainName + "\\" + strDomainUserName;
 }

3、在\RDWeb\Pages\renderscripts.js文件中设置默认域名

3.1在renderscripts.js文件的首行添加以下代码(默认域名)

添加代码如下(默认域名):

var strDomainName = "ZZ";

3.2在renderscripts.js文件添加将“域名”与“用户名”组合成完整“域\用户名”的代码

 添加代码如下(组合域名与用户名):

if ( strDomainUserName.toLowerCase() == strLoggedOnDomainUserName.toLowerCase()) {
    if ( ( -1 == strDomainUserName.indexOf("\\") ) && ( -1 == strDomainUserName.indexOf("@") ) )
    {
        strDomainUserName = strDomainName+"\\"+strDomainUserName;
    }


二、设置远程桌面(RDP)登录用户

原图界面:

在浏览器不支持 或者 RemoteApp远程与连接不可用时,浏览器会下载一个包含远程连接参数文件(*.rdp)。由于在默认的rdp文件未设置Domain(域)与UserName(账号)参数所以会导致客户端登录时需要输入完整域\用户名,这样就影响使用体验。所以需要改一下。

实现思路就是在Rdweb服务器端设置Domain(域)与UserName(账号)rdp参数,然后在返回给浏览器。最后浏览器通过Bo对象将返回的rdp参数,下载成*.rdp文件

1、修改\RDWeb\Pages\zh-CN\Default.aspx文件

1.1Default.aspx文件添加strDomainName变量(用于指定默认域名)

  添加的代码如下(设置默认域名):

public string strDomainName = "ZZ";  //默认域名(当用户未指定域名时使用)

1.2Default.aspx文件添加Domain(域)与UserName(账号)rdp参数的代码 

 添加的代码如下(设置Domain(域)与UserName(账号)):

//设置rdp参数Domain与UserName
if((-1 == strDomainUserName.IndexOf("\\")) && (-1 == strDomainUserName.IndexOf("@")))
{
  strAppFeed = strAppFeed.Insert(
      strAppFeed.IndexOf("<![CDATA[") + 9,
      "Domain%3As%3A" + strDomainName + "%0D%0AUserName%3As%3A" +
      strDomainUserName + "%0D%0A");
}
else
{ 
  strAppFeed = strAppFeed.Insert(strAppFeed.IndexOf("<![CDATA[") + 9,
      "UserName%3As%3A" + strDomainUserName + "%0D%0A");
}

2、修改\RDWeb\Pages\Site.xsl文件

2.1新增将服务器返回的rdp参数,下载成*.rdp文件的代码

新增代码如下:

//将服务器返回的rdp参数转换成rdp文件并下载至本地
//strRdpFileName:rdp文件名称(保存至本地的rdp文件名称)
//strRdpFileContents:rdp参数(输入:由服务端返回)
function downloadRDP(strRdpFileName,strRdpFileContents) {
        var eleLink = document.createElement('a');
        eleLink.download = strRdpFileName;
        eleLink.style.display = 'none';
        strRdpFileContents = unescape(strRdpFileContents);
        var blob = new Blob([strRdpFileContents]);
        eleLink.href = URL.createObjectURL(blob);
        document.body.appendChild(eleLink);
        eleLink.click();
        document.body.removeChild(eleLink);
      }

2.2修改触发下载*.rdp文件的代码(也就是修改goRDP函数)

 修改后goRDP函数的代码如下:

function goRDP(pid, rdpContents, url) {
  var arr = url.split("/");
  var strRdpFileName = arr[arr.length-1];
  if (ActiveXMode) {
    try {
           goRDPAx(pid, rdpContents);
        } catch (e) {
          //location.href = url; 
          downloadRDP(strRdpFileName,rdpContents);
        }
      }
      else {
      //location.href = url;
      downloadRDP(strRdpFileName,rdpContents);
      }
      }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值