Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864

Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc

Single Sign-On

Post Reply
Oulash
Posts: 4
Joined: 2011-02-03 08:48

Single Sign-On

Post by Oulash »

Hello.

I want to use sso conection with UVnc 1.1.9.6. Is it possible ?

Thanks.
Bonji
100
100
Posts: 339
Joined: 2008-05-13 14:54

Re: Single Sign-On

Post by Bonji »

Your question is too general. You need to include more details such as what SSO software you are currently using and how does it interface with applications that do not have an API for it (like uVNC).

I wrote a wrapper around the VNCViewer.exe file which allows me to pass the username and password to it every time. It's basic, but works great.
-Ben
Oulash
Posts: 4
Joined: 2011-02-03 08:48

Re: Single Sign-On

Post by Oulash »

Actually we use UltraVnc, we have lots of computers working with microsoft os.
Uvnc Server is installed on each computer.
We have a password which is configure on thoses UVnc servers.
Now, We want to use specific Active Directory accounts to use UltraVnc Viewer but we don't want to enter our login/password each time we want use the viewer.

That's why we are interested by the SSO system as proposed Real Vnc
Bonji wrote: I wrote a wrapper around the VNCViewer.exe file which allows me to pass the username and password to it every time. It's basic, but works great.
This sounds very interesting, but I do not understand what you've done.
Bonji
100
100
Posts: 339
Joined: 2008-05-13 14:54

Re: Single Sign-On

Post by Bonji »

uVNC doesn't support SSO itself directly.

Since uVNC can take a Username and a Password as command line arguments, you can write a program that requests the Username/Password once and then always passes it to VNCViewer.exe so you don't have to do it manually each time.

Here's a quick and dirty HTA example of what I'm referring to:
If you're not familiar with HTA, it's an HTML application. Copy the contents of the code section into a text file and save it with a .hta extension. Then execute that file and the form should appear.

Code: Select all

<html>
<head>
<title>VNC Viewer Wrapper</title>
<HTA:APPLICATION 
	ID="objVNCWrap"
	INNERBORDER="no"
	MAXIMIZEBUTTON="no"
	MINIMIZEBUTTON="no"
	CONTEXTMENU="no"
	APPLICATIONNAME="VNCWrap"
	SCROLL="no"
	SINGLEINSTANCE="no"
>
</head>
<style>
BODY
{
   background-color: buttonface;
   font-family: Helvetica;
   font-size: 10pt;
   margin-top: 10px;
   margin-left: 20px;
   margin-right: 20px;
   margin-bottom: 10px;
}
.button
{
   font-family: Helvetica;
   font-size: 8pt;
   width: 92px;

}
textarea
{
   font-family: arial;
   font-size: 8pt;
}
select
{
   font-family: arial;
   font-size: 8pt;
   width: 350px;
   margin-left: 0px;
}
td
{
   font-family: arial;
   font-size: 10pt;
}
</style>

<SCRIPT LANGUAGE="VBScript">

Public strVNCUser, strVNCPW

Sub Window_Onload
	Window.ResizeTo 300,270
	chkUseCreds.Checked = -1
	rdoEncoding(0).Checked = -1
End Sub

Sub cmdVNC_Click
	Dim strOptions
	If chkUseCreds.Checked = -1 Then
		strOptions = " /user " & txtVNCUser.Value & " /password " & txtVNCPW.Value
	End If
	If chk256Colors.Checked = -1 Then
		strOptions = strOptions & " /256colors "
	End If
	If chkAutoScale.Checked = -1 Then
		strOptions = strOptions & " /AutoScaling "
	End If
	If chkSecureVNC.Checked = -1 Then
		strOptions = strOptions & " /DSMPlugin SecureVNCPlugin.dsm "
	End If
	If rdoEncoding(0).Checked = -1 Then
		strOptions = strOptions & " /Encoding Tight "
	End If
	If rdoEncoding(1).Checked = -1 Then
		strOptions = strOptions & " /Encoding ZLib "
	End If
	If rdoEncoding(2).Checked = -1 Then
		strOptions = strOptions & " /Encoding Ultra "
	End If
	Set objShell = CreateObject("WScript.Shell")
	Set objVNC = objShell.Exec("VNCViewer.exe /QuickOption 6 /NoAuto " & strOptions & txtCompName.Value)
End Sub

</SCRIPT>

<body>
&nbsp;<BR>
<input type="text" name="txtCompName" size="15">
<input id=runbutton class="button" type="button" value="VNC" name="cmdVNC" onClick="cmdVNC_Click" Default=1><br>
<br>
<input type="text" name="txtVNCUser" size="15"> VNC Username<br>
<input type="password" name="txtVNCPW" size="15"> VNC Password<br>
<br>
<table width="100%">
	<tr>
		<td width = "50%" valign="top">
			<input type="checkbox" name="chkUseCreds" value="1"> Use Credentials<br>
			<input type="checkbox" name="chk256Colors" value="1"> 256 Colors<br>
			<input type="checkbox" name="chkAutoScale" value="1"> AutoScaling<br>
			<input type="checkbox" name="chkSecureVNC" value="1"> SecureVNCPlugin
		</td>
		<td width = "20%" valign="top">
			<Font Size=3><b>Encoding</b></font><br>
			<input type="radio" name="rdoEncoding" value="Tight">Tight<br>
			<input type="radio" name="rdoEncoding" value="ZLib">ZLib<br>
			<input type="radio" name="rdoEncoding" value="Ultra">Ultra
		</td>
	</tr>
</table>
</body>
-Ben
Bonji
100
100
Posts: 339
Joined: 2008-05-13 14:54

Re: Single Sign-On

Post by Bonji »

Here's another version where it automatically fills in the Username field with the name of the User account logged onto the computer. I also made it automatically set focus to the VNC IP/Hostname textbox and make the VNC button default.

Code: Select all

<html>
<head>
<title>VNC Viewer Wrapper</title>
<HTA:APPLICATION 
	ID="objVNCWrap"
	INNERBORDER="no"
	MAXIMIZEBUTTON="no"
	MINIMIZEBUTTON="no"
	CONTEXTMENU="no"
	APPLICATIONNAME="VNCWrap"
	SCROLL="no"
	SINGLEINSTANCE="no"
>
</head>
<style>
BODY
{
   background-color: buttonface;
   font-family: Helvetica;
   font-size: 10pt;
   margin-top: 10px;
   margin-left: 20px;
   margin-right: 20px;
   margin-bottom: 10px;
}
.button
{
   font-family: Helvetica;
   font-size: 8pt;
   width: 92px;
}
textarea
{
   font-family: arial;
   font-size: 8pt;
}
select
{
   font-family: arial;
   font-size: 8pt;
   width: 350px;
   margin-left: 0px;
}
td
{
   font-family: arial;
   font-size: 10pt;
}
</style>

<SCRIPT LANGUAGE="VBScript">

Public strVNCUser, strVNCPW

Sub Window_Onload
	Window.ResizeTo 300,270
	chkUseCreds.Checked = -1
	chkSecureVNC.Checked = 0
	rdoEncoding(0).Checked = -1
	'cmdVNC.Default = 1
	Set objShell = CreateObject("WScript.Shell")
	strUser = objShell.ExpandEnvironmentStrings("%UserName%")
	txtVNCUser.Value = strUser
	txtVNCPW.Value = ""
	txtCompName.Focus
End Sub

Sub cmdVNC_Click
	Dim strOptions
	If chkUseCreds.Checked = -1 Then
		strOptions = " /user " & txtVNCUser.Value & " /password " & txtVNCPW.Value
	End If
	If chk256Colors.Checked = -1 Then
		strOptions = strOptions & " /256colors "
	End If
	If chkAutoScale.Checked = -1 Then
		strOptions = strOptions & " /AutoScaling "
	End If
	If chkSecureVNC.Checked = -1 Then
		strOptions = strOptions & " /DSMPlugin SecureVNCPlugin.dsm "
	End If
	If rdoEncoding(0).Checked = -1 Then
		strOptions = strOptions & " /Encoding Tight "
	End If
	If rdoEncoding(1).Checked = -1 Then
		strOptions = strOptions & " /Encoding ZLib "
	End If
	If rdoEncoding(2).Checked = -1 Then
		strOptions = strOptions & " /Encoding Ultra "
	End If
	Set objShell = CreateObject("WScript.Shell")
	Set objVNC = objShell.Exec("VNCViewer.exe /QuickOption 6 /NoAuto " & strOptions & txtCompName.Value)
End Sub

</SCRIPT>

<body>
<div>
&nbsp;<BR>
<input type="text" name="txtCompName" size="15">
<button id=cmdVNC class="button" type="submit" value="VNC" name="cmdVNC" onClick="cmdVNC_Click">VNC</button><br>
<br>
<input type="text" name="txtVNCUser" size="15" value=""> Username<br>
<input type="password" name="txtVNCPW" size="15" value=""> Password<br>
<br>
<table width="100%">
	<tr>
		<td width = "50%" valign="top">
			<input type="checkbox" name="chkUseCreds" value="1"> Use Credentials<br>
			<input type="checkbox" name="chk256Colors" value="1"> 256 Colors<br>
			<input type="checkbox" name="chkAutoScale" value="1"> AutoScaling<br>
			<input type="checkbox" name="chkSecureVNC" value="1"> SecureVNCPlugin
		</td>
		<td width = "20%" valign="top">
			<Font Size=3><b>Encoding</b></font><br>
			<input type="radio" name="rdoEncoding" value="Tight">Tight<br>
			<input type="radio" name="rdoEncoding" value="ZLib">ZLib<br>
			<input type="radio" name="rdoEncoding" value="Ultra">Ultra
		</td>
	</tr>
</table>
</div>
</body>
-Ben
Oulash
Posts: 4
Joined: 2011-02-03 08:48

Re: Single Sign-On

Post by Oulash »

Thank you very much for the answers.

Your wrapper is really interesting but it doesn't exactly matches. My problem is about connection historical that UVnc proposed which is not present with your wrapper.
This is really usefull for us who need to launch many connections in the day.
Post Reply