GSS-API How to get the client-to-service ticket
In Kerberos when requesting services, the client sends the following two messages to the TGS: A composed message of the Ticket-Granting Ticket and the ID of the requested serviceand authenticator (which is composed of the client ID and the timestamp), all encrypted using the client/TGS session key.
Then upon receiving these messages the TGS sends the followings to the client:
A: Client-to-server ticket (which includes the client ID, client network address, validity period and Client/server session key) encrypted using the service's secret key.
B: Client/server session key encrypted with the client/TGS session key.
Now I'm wondering how to obtain A and B throught the kerberos login in GSS-API . I have the following code that I use to request a kerberized service but it returns only a KerberosTicket in PrivateCredentialsSet for the Subject. A sessionKey can also be obtained form this KerberosTicket ! Which session key is this ? the session key B described above? and Where to get the Client-to-server ticket (A) described above ?
Thanks for any help !
Alex
lc = new LoginContext("login-client", new TextCallbackHandler());
lc.login();
mysubject = lc.getSubject();
java.util.Set principals = lc.getSubject().getPrincipals();
java.util.Iterator iterador = principals.iterator();
if (iterador.hasNext()){
KerberosPrincipal principal = (KerberosPrincipal) iterador.next();
clientName =principal.getName();
PrivilegedAction generateServiceTicket = new ClientAction(clientName,"[email protected]");
Subject.doAs(mysubject, generateServiceTicket);
Set prvCredentials = lc.getSubject().getPrivateCredentials();
for (Iterator i = prvCredentials.iterator(); i.hasNext(); j++) {
KerberosTicket ticket = (KerberosTicket) i.next();
prvKrbCrds = (KerberosTicket[]) mysubject.getPrivateCredentials().toArray(new KerberosTicket[0]);
public Object run() {
try{
GSSManager manager = GSSManager.getInstance();
Oid krb5Mechanism = new Oid("1.2.840.113554.1.2.2");
Oid krb5PrincipalNameType = new Oid("1.2.840.113554.1.2.2.1");
GSSName userName = manager.createName(pn,GSSName.NT_USER_NAME);
GSSCredential cred = manager.createCredential(usr,
GSSCredential.DEFAULT_LIFETIME,
krb5Mechanism,
GSSCredential.INITIATE_ONLY);
GSSName peerName = manager.createName(servicename,
GSSName.NT_HOSTBASED_SERVICE, krb5Mechanism);
GSSContext setContext = manager.createContext(peerName, krb5Mechanism, cred,
GSSContext.DEFAULT_LIFETIME);
setContext.requestInteg(false);
setContext.requestConf(false);
byte[] inputBuf = new byte[0];
byte[] tkt = setContext.initSecContext(inputBuf, 0, 0);
}catch(GSSException gsse){
gsse.printStackTrace();
}
In Kerberos when requesting services, the client sends the following two messages to the TGS: A composed message of the Ticket-Granting Ticket and the ID of the requested serviceand authenticator (which is composed of the client ID and the timestamp), all encrypted using the client/TGS session key.
Then upon receiving these messages the TGS sends the followings to the client:
A: Client-to-server ticket (which includes the client ID, client network address, validity period and Client/server session key) encrypted using the service's secret key.
B: Client/server session key encrypted with the client/TGS session key.
Now I'm wondering how to obtain A and B throught the kerberos login in GSS-API . I have the following code that I use to request a kerberized service but it returns only a KerberosTicket in PrivateCredentialsSet for the Subject. A sessionKey can also be obtained form this KerberosTicket ! Which session key is this ? the session key B described above? and Where to get the Client-to-server ticket (A) described above ?
Thanks for any help !
Alex
lc = new LoginContext("login-client", new TextCallbackHandler());
lc.login();
mysubject = lc.getSubject();
java.util.Set principals = lc.getSubject().getPrincipals();
java.util.Iterator iterador = principals.iterator();
if (iterador.hasNext()){
KerberosPrincipal principal = (KerberosPrincipal) iterador.next();
clientName =principal.getName();
PrivilegedAction generateServiceTicket = new ClientAction(clientName,"[email protected]");
Subject.doAs(mysubject, generateServiceTicket);
Set prvCredentials = lc.getSubject().getPrivateCredentials();
for (Iterator i = prvCredentials.iterator(); i.hasNext(); j++) {
KerberosTicket ticket = (KerberosTicket) i.next();
prvKrbCrds = (KerberosTicket[]) mysubject.getPrivateCredentials().toArray(new KerberosTicket[0]);
public Object run() {
try{
GSSManager manager = GSSManager.getInstance();
Oid krb5Mechanism = new Oid("1.2.840.113554.1.2.2");
Oid krb5PrincipalNameType = new Oid("1.2.840.113554.1.2.2.1");
GSSName userName = manager.createName(pn,GSSName.NT_USER_NAME);
GSSCredential cred = manager.createCredential(usr,
GSSCredential.DEFAULT_LIFETIME,
krb5Mechanism,
GSSCredential.INITIATE_ONLY);
GSSName peerName = manager.createName(servicename,
GSSName.NT_HOSTBASED_SERVICE, krb5Mechanism);
GSSContext setContext = manager.createContext(peerName, krb5Mechanism, cred,
GSSContext.DEFAULT_LIFETIME);
setContext.requestInteg(false);
setContext.requestConf(false);
byte[] inputBuf = new byte[0];
byte[] tkt = setContext.initSecContext(inputBuf, 0, 0);
}catch(GSSException gsse){
gsse.printStackTrace();
}
Similar Messages
-
How to get the status of service in rac
Dear all,
how to get the status of service in rac.
SQL> show parameters service;
NAME TYPE VALUE
service_names string DEVDB, DEVDB1, devdb
[oracle@rac1 ~]$ srvctl status service -d devdb -s devdb
PRKO-2120 : The internal database service devdb cannot be managed with srvctl.user7244870 wrote:
Dear all,
how to get the status of service in rac.
SQL> show parameters service;
NAME TYPE VALUE
service_names string DEVDB, DEVDB1, devdb
[oracle@rac1 ~]$ srvctl status service -d devdb -s devdb
PRKO-2120 : The internal database service devdb cannot be managed with srvctl.
Internal services cannot be managed with srvctl utility. Check if you have any user defined service in dba_services
SQL> desc dba_services
Name Null? Type
SERVICE_ID NUMBER
NAME VARCHAR2(64)
NAME_HASH NUMBER
NETWORK_NAME VARCHAR2(512)
CREATION_DATE DATE
CREATION_DATE_HASH NUMBER
FAILOVER_METHOD VARCHAR2(64)
FAILOVER_TYPE VARCHAR2(64)
FAILOVER_RETRIES NUMBER(10)
FAILOVER_DELAY NUMBER(10)
MIN_CARDINALITY NUMBER
MAX_CARDINALITY NUMBER
GOAL VARCHAR2(12)
DTP VARCHAR2(1)
ENABLED VARCHAR2(3)
AQ_HA_NOTIFICATIONS VARCHAR2(3)
CLB_GOAL VARCHAR2(5)http://docs.oracle.com/cd/B19306_01/rac.102/b14197/srvctladmin.htm -
How to get the client date and time ?
Dear Sirs...
Using jdeveloper 10.1.2.0
How can i get the client date and time using the HttpServletRequest ?
thanks for any help in advance
best regardsIf your code is running on the client pc you can just create a new instance of the java.util.Date class. That class automatically defaults to the current time of the client machine. Otherwise if you're running the code on the server, you could insert/post the client date/time by adding its string representation as a parameter to the HTTP request object.
Ronald -
How to get the client identity from the certificate at server side
hi, this is ravi kiran,
I am working on a project which requires, receiving a signed file from the client side and verify whether the file is signed by a valid certificate that is there in the servers keystore.
How can i get the client certificate at server side and check with the certificates already present in the servers keystore.
i have no idea how to do this
can any one help me
thanx in advanceHi Ravi, did you get any answer to your question ?
I'm also after a similar problem, please share your solution, if you have any. -
How to get the CLIENT OS USER NAME using Apex
Dear All,
I know there are many other posts (some of them are very old) discuss about this issue. But unfortunately most of the posts endup with NO PROPER ANSWER. But still I believe that tehre has to be some way to do this. So this is my requirement.
I am using custom authentication module and I want to get the CLIENT MACHINE OS USER NAME for that. But I do not want to do any authentication against the client user domain.
How can I get this?
* There are some other way to get this using VB Scripts. But thats not a real solution for this due to followings
01. User has to manually allow to run VB scripts. So if user dissable that then we canot get the required info
02. Its working only with specific browsers(Mainly in IE and also we can get that thing work after installing plugins to Firefox.). So this is also depends with the bvrowser and plugings.
What I want to do is to get this info using a common way which is not depends with the browser or any thirdparty plugins.
Thanks,
AlexIts good that you did some searching in the forums before you posted the question.
Most modern browsers would consider what you require as a security/privacy issue and prevents such information from being transmitted available(easily). IE might let you pull out this using a VB script or activex control. Browser specific addons/extension could work but they need some kind of installation to start with. Java could be a way to do it with all browsers, but the end user still has to grant access before it can do any such thing.
Lets say you were able to pull out such information from an end user, what would be next, get his mail id from outlook ? , access his browsing history, steal credit card information or read cookies?
Add to that , what if the end user accesses it using any other OS(linux,macintosh or even a smartphone) ? what about windows vista and windows 7 OS's , are you going to write code to handle all those cases too ?
Here's a blog posting which explains using NTLM authentication with Apex(it still needs configuration from the end user)
What I want to do is to get this info using a common way which is not depends with the browser or any thirdparty plugins.I guess if this is the question, then the answer would have to be no. I don't think you will be able to find a method that passes this information from the client side without any modification/configuration at their side -
VBA API: How to get the monitor number?
Hello,
I have written
an Excel application which
controls an external application
(making inputs,
reads out the window,
etc.).
I use a lot of API functions, e.g. as in the code from thisarticle:
https://support.microsoft.com/en-us/kb/194578?wa=wsignin1.0
A basic
function of my application is
to distinguish between windows
that have the same title
but are on different monitors.
In my windows (and NVIDIA) settings the left monitor is 1 and the right monitor is 2.
In the past I have this routine to "identify" the monitor number from a window handle:
Function GetWindowMonitor(ByVal hWnd As Long) As Integer
Dim hMonitor As Long, MI As MONITORINFO, hM
hMonitor = MonitorFromWindow(hWnd, MONITOR_DEFAULTTONEAREST)
MI.cbSize = Len(MI)
GetMonitorInfo hMonitor, MI
Set mMonitor = New Collection
EnumDisplayMonitors ByVal 0&, ByVal 0&, AddressOf MonitorEnumProc, ByVal 0&
For Each hM In mMonitor
GetWindowMonitor = GetWindowMonitor + 1
If hM = hMonitor Then Exit Function
Next
GetWindowMonitor = 0
End Function
But last week I got a new graphic card and now this obvious stupid function fails, because EnumDisplayMonitors delivers the 2nd monitor first and then the 1st
monitor.
Long talk, short question: Is there any way to get the real monitor numbers as they are shown inside the windows settings?
Andreas.When you need to identify monitors, call CreateDC with "DISPLAY" as the driver name and pass monitor name as the device name. Then you can draw a number on the result HDC.
I can not draw that number and I can not set an identifier. As I said in my last post:
I share this tool with my colleagues at work.
Okay... CreateDC is an idea... as I've read at MSDN I can call EnumDisplayMonitors with a DC to get informations about the monitor, so I tried the code below, but it doesn't work.
EnumDisplayMonitors does not call my MonitorEnumProc when I call it with a DC.
Do I something wrong? Do I misunderstood the MSDN article? Is that not possible? Can you confirm that?
Andreas.
Option Explicit
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Type DISPLAY_DEVICE
cb As Long
DeviceName As String * 32
DeviceString As String * 128
StateFlags As Long
DeviceID As String * 128
DeviceKey As String * 128
End Type
Private Const DISPLAY_DEVICE_MIRRORING_DRIVER = &H8
Private Declare Function EnumDisplayDevicesS Lib "user32" Alias "EnumDisplayDevicesA" ( _
ByVal DeviceName As String, ByVal iDevNum As Long, lpDisplayDevice As _
DISPLAY_DEVICE, ByVal dwFlags As Long) As Long
Private Declare Function CreateDC Lib "gdi32" Alias "CreateDCA" ( _
ByVal lpszDriver As String, ByVal lpszDevice As String, ByVal lpszOutput As Long, _
lpInitData As Any) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hDC As Long) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function GetWindowRect Lib "user32" ( _
ByVal hWnd As Long, lpRect As RECT) As Long
Private Declare Function EnumDisplayMonitors Lib "user32.dll" ( _
ByVal hDC As Long, ByRef lprcClip As Any, ByVal lpfnEnum As Long, _
ByVal dwData As Long) As Long
Private Type MONITORINFO
cbSize As Long
rcMonitor As RECT
rcWork As RECT
dwFlags As Long
End Type
Private Declare Function GetMonitorInfo Lib "user32.dll" Alias "GetMonitorInfoA" ( _
ByVal hMonitor As Long, ByRef lpmi As MONITORINFO) As Long
Private Function MonitorEnumProc(ByVal hMonitor As Long, ByVal hdcMonitor As Long, _
lprcMonitor As RECT, ByVal dwData As Long) As Long
Dim MI As MONITORINFO
Debug.Print "Monitor " & hMonitor
GetMonitorInfo hMonitor, MI
With MI.rcMonitor
Debug.Print "Left", "Top", "Right", "Bottom"
Debug.Print .Left, .Top, .Right, .Bottom
End With
'Continue enumeration
MonitorEnumProc = 1
End Function
Function JustNumbers(ByVal What As String) As String
'Return only numbers from What (by Rick Rothstein)
Dim i As Long, j As Long, Digit As String
For i = 1 To Len(What)
Digit = Mid$(What, i, 1)
If Digit Like "#" Then
j = j + 1
Mid$(What, j, 1) = Digit
End If
Next
JustNumbers = Left$(What, j)
End Function
Sub Main()
Dim DD As DISPLAY_DEVICE
Dim DDevice
Dim DDevices As New Collection
Dim DMonitor
Dim DMonitors As New Collection
Dim i As Long, k As Long
Dim hDC As Long
Dim DrvName As String, DevName As String
Dim hWnd As Long, hRECT As RECT
'Get our window handle
hWnd = GetForegroundWindow
'Now I want to know if this window is located on monitor 1 or 2 (or both)
'Get the coordinates of the window
GetWindowRect hWnd, hRECT
With hRECT
Debug.Print "Window:"
Debug.Print "Left", "Top", "Right", "Bottom"
Debug.Print .Left, .Top, .Right, .Bottom
End With
'Get the device drivers
DD.cb = Len(DD)
i = 0
Do While EnumDisplayDevicesS(vbNullString, i, DD, 0&) <> 0
If (DD.StateFlags And DISPLAY_DEVICE_MIRRORING_DRIVER) = 0 Then
k = InStr(DD.DeviceName, vbNullChar)
DDevices.Add Left(DD.DeviceName, k - 1)
End If
i = i + 1
Loop
'2. Get the monitors on each driver
For Each DDevice In DDevices
i = 0
Do While EnumDisplayDevicesS(DDevice & vbNullChar, i, DD, 0&) <> 0
k = InStr(DD.DeviceName, vbNullChar)
DMonitors.Add Left(DD.DeviceName, k - 1)
i = i + 1
Loop
Next
'Create a DC for each monitor and get the coordinates
For Each DMonitor In DMonitors
i = InStrRev(DMonitor, "\")
'"\\.\DISPLAY1"
DrvName = Left(DMonitor, i - 1) & vbNullChar
'"Monitor0"
DevName = Mid(DMonitor, i + 1) & vbNullChar
hDC = CreateDC(DrvName, DevName, 0, ByVal 0&)
Debug.Print DrvName, DevName, hDC
'The driver name is the monitor number!?
EnumDisplayMonitors hDC, ByVal 0&, AddressOf MonitorEnumProc, Val(JustNumbers(DrvName))
DeleteDC hDC
Next
End Sub -
SharePoint 2013 Rest API - How to get the item count with startsWith
Hi All,
I am using the below url to get the item count for specfied startsWith. For example I want to know how many items are there in the list which starts with "A". When i hit the below url in the address bar i am getting HTTP not found.
siteURL/sites/Apps/SharePointApp3/_vti_bin/listdata.svc/SampleList/items?$filter=startsWith(Title,’A’)
Navaneethwhat
is SharePointApp3.
here.
it is a webpart.
this will not work on webpart\apps
Also I am not sure if it will work with specific SampleList
Try
siteURL/sites/Apps/SharePointApp3/SampleList/_vti_bin/listdata.svc/Keywords?$filter=substringof('r',Title)
If this helped you resolve your issue, please mark it Answered -
How to get the client certificate at server side
hi, this is ravikiran
I am working on a project which requires, receiving a signed file from the client side and verify whether the file is signed by a valid certificate that is there in the servers keystore.
I have no idea how to do this.
can anyone help me.
thanx in advance.[sorry, deleted irrelevant wrong answer]
-
How to get the client's IP address from within Java Studio Creator JSP/Java
Hi there.
I just started using the Java Studio Creator 2 and now I need to get hold of the client IP address - this should be part of the request, but I cannot fint the right way to get hold of that information. I want to be able to access this information from within the Java-code in a JSP/JSPF-page.
Is there a new way of doing:
request.getRemoteAddr();
This is the way I remember it from the JSP/Servlet-days...
Sincerely,
- Oystein Saebo -javax.servlet.http.HttpServletRequest req = (javax.servlet.http.HttpServletRequest) getExternalContext().getRequest();
req.getRemoteAddr(); -
Pls help : How to get the client ip address in EJB
Hi experts,
I need to find the ip addr of the client which makes the remote call.
I tried using
java.rmi.server.RemoteServer.getClientHost()
But it throws ServerNotActiveException .
When I tried this in RMI it works fine perfectly.
If i am right EJB is just similar to RME and it should work in it too..
Can you please help me in finding out the ip address of the client which makes the ejb call.
Thanks & Regards,
MukuntHi Mukunt,
There is no portable way to do this in the Remote EJB programming model. The bean class
is written in a way that is agnostic to those kind of plumbing-related details of the caller.
--ken -
OIM API - How to get the values in the process form (both parent and child)
Hi,
I created an RO with a Process form (both Parent and Child).I created a unconditional process task which takes in the processinstance key and tried to retrieve the process form datas.When i tried to provison the resource,the process task is getting triggered and I could able to get the parent form data but not the child form data.
Any idea why is this happening?.Is it mandatory to have the "Triggers" ON to get the Child Form data.?
Thanks,try this
tcResultSet childResults = formOper.getChildFormDefinition(
formOper.getProcessFormDefinitionKey(procInstanceKey),
formOper.getProcessFormVersion(procInstanceKey));
This should work,
Regards,
Raghav -
Java GSS API - Kerberos - Receive timed out when requesting service ticket.
Hi,
I'm following the following exercises about Kerberos/JGSS-API :
http://java.sun.com/javase/6/docs/technotes/guides/security/jgss/lab/
On exercise 3, I get an exception (when requesting a service ticket) from the client side:
"+Exception in thread "main" java.security.PrivilegedActionException: GSSException: No valid credentials provided (Mechanism level: Receive timed out)
etc.+"
This seems to happen when the GSSContext.initSecContext(...) method is called.
The server side receives the client connection:
"+Waiting for incoming connection...+
+Got connection from client /xxx.xxx.x.xxx+"
But then displays the following exception:
"+Exception in thread "main" java.security.PrivilegedActionException: java.net.SocketException: Connection reset
etc.+"
I checked my KDC (win 2003 Server SP2) and added SPNs with setspn but the error remains.
Any suggestion are more than welcome !The TGT is already present on my Client machine because it is acquired automaticaly from the KDC during the Windows opening session.
I use then JAAS to access the LSA and obtain the TGT - This doesn't need any further connection to the KDC.
But the Service Ticket is requested to the KDC by my client machine..
Here is the complete output (Client side) after I destroyed the tickets (with Kerberos MIT Leash.exe and/or kdestroy.exe ):
Debug is true storeKey false useTicketCache true useKeyTab false doNotPrompt false ticketCache is null isInitiator true KeyTab is null refreshKrb5Config is false principal is null tryFirstPass is false useFirstPass is false storePass is false clearPass is false
Acquire TGT from Cache
+>>>KinitOptions cache name is C:\Documents and Settings\user.MYDOMAIN\krb5cc_user+
+>> Acquire default native Credentials+
+>>> Obtained TGT from LSA: Credentials:+
[email protected]
server=krbtgt/[email protected]
authTime=20080529135209Z
startTime=20080529135209Z
endTime=20080530015209Z
renewTill=20080702135209Z
flags: FORWARDABLE;RENEWABLE;INITIAL;PRE-AUTHENT
EType (int): 23
Principal is [email protected]
Commit Succeeded
+Authenticated principal: [[email protected]]+
Connected to address host1/xxx.xxx.x.xxx
Found ticket for [email protected] to go to krbtgt/[email protected] expiring on Fri May 30 03:52:09 CEST 2008
Entered Krb5Context.initSecContext with state=STATE_NEW
Found ticket for [email protected] to go to krbtgt/[email protected] expiring on Fri May 30 03:52:09 CEST 2008
Service ticket not found in the subject
+>>> Credentials acquireServiceCreds: same realm+
Using builtin default etypes for default_tgs_enctypes
default etypes for default_tgs_enctypes: 3 1 23 16 17.
+>>> CksumType: sun.security.krb5.internal.crypto.RsaMd5CksumType+
+>>> EType: sun.security.krb5.internal.crypto.ArcFourHmacEType+
+>>> KrbKdcReq send: kdc=yyy.yyy.y.y UDP:88, timeout=30000, number of retries =3, #bytes=1262+
+>>> KDCCommunication: kdc=yyy.yyy.y.y UDP:88, timeout=30000,Attempt =1, #bytes=1262+
SocketTimeOutException with attempt: 1
+>>> KDCCommunication: kdc=yyy.yyy.y.y UDP:88, timeout=30000,Attempt =2, #bytes=1262+
SocketTimeOutException with attempt: 2
+>>> KDCCommunication: kdc=yyy.yyy.y.y UDP:88, timeout=30000,Attempt =3, #bytes=1262+
Exception in thread "main" java.security.PrivilegedActionException: GSSException: No valid credentials provided (Mechanism level: Receive timed out)
+ at java.security.AccessController.doPrivileged(Native Method)+
+ at javax.security.auth.Subject.doAs(Subject.java:396)+
+ at SimpleAuthzz2.loginAndAction(SimpleAuthzz2.java:56)+
+ at SimpleGssClient.main(SimpleGssClient.java:36)+
SocketTimeOutException with attempt: 3
Caused by: GSSException: No valid credentials provided (Mechanism level: Receive timed out)
+ at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:659)+
+ at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:213)+
+ at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:158)+
+ at SimpleGssClient$GssClientAction.run(SimpleGssClient.java:121)+
+ ... 4 more+
Caused by: java.net.SocketTimeoutException: Receive timed out
+ at java.net.PlainDatagramSocketImpl.peekData(Native Method)+
+ at java.net.DatagramSocket.receive(DatagramSocket.java:662)+
+ at sun.security.krb5.internal.UDPClient.receive(UDPClient.java:77)+
+ at sun.security.krb5.KrbKdcReq$KdcCommunication.run(KrbKdcReq.java:278)+
+ at java.security.AccessController.doPrivileged(Native Method)+
+ at sun.security.krb5.KrbKdcReq.send(KrbKdcReq.java:195)+
+ at sun.security.krb5.KrbKdcReq.send(KrbKdcReq.java:140)+
+ at sun.security.krb5.KrbKdcReq.send(KrbKdcReq.java:106)+
+ at sun.security.krb5.KrbTgsReq.send(KrbTgsReq.java:215)+
+ at sun.security.krb5.internal.CredentialsUtil.serviceCreds(CredentialsUtil.java:293)+
+ at sun.security.krb5.internal.CredentialsUtil.acquireServiceCreds(CredentialsUtil.java:106)+
+ at sun.security.krb5.Credentials.acquireServiceCreds(Credentials.java:561)+
+ at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:585)+
+ ... 7 more+
It seems like the TGT is still present in the cache, even if Leash displays "no tickets".
Meanwhile, in the KDC-server side:
-What is the correct spn to add? C:\setspn GssServer/host1 user ? (I in fact tried many possibilities)..
-Is there any other special configuration to do in the KDC ?
Thanks a lot! -
BSL as a Web Service. How to get the client Hostname?
Hi group,
Is it possible to read the calling client computer name from within a Transaction execution when called as a Web Service (HTTP GET)?
Some function that would return the same as
Request.ServerVariables["REMOTE_HOST"]
or
req.getRemoteHost();
from an HTTP Web Server.
Thanks,
Francois.Thanks Doug,
I followed your advice with a slight modification as the name of the parameter is Machine instead of IP.
/XMII/PropertyAccessServlet?mode=Retrieve&PropName=Machine&Content-Type=text/xml
I accessed this system parameter by using the string above as the URL of an XML Query action block from within my existing BSL transactions. This aligns better with our current way of exposing the our MII transactions as Web Services.
Using the XAcute query as proposed by Udayan also works but this would have meant exposing a new interface ( XAcute Query instead of the transaction default Web Service via the /Runner URL).
Thank you both. -
How to Get the Client's Environment Variables?
I have a page which need inputing account of the intranet then send a mail upon the intranet.So,it is important for me to verify if the account is legal or if this account is the user himself or herself in order to refuse any bad sending.
Of course I can get Environment Variables of "user.name" of my own PC.But How can I get Others before they can send mail?You can't read with an applet some system properties, including the "user.name" property. Not even with a signed applet.
Here you have some links:
http://java.sun.com/docs/books/tutorial/applet/practical/properties.html
http://java.sun.com/docs/books/tutorial/applet/practical/security.html
http://java.sun.com/sfaq/#getProps
So you should find another way, for instance authentication. -
Trex Result in the ABAP API - how to get the context
Hi all
I have an ABAP application in which I would like to know and display the context of the result like on the sdn.
E.g. a search for Trex could look like:
"...configure Trex is done by..."
- showing bold text where the search criteria appears.
Is there a function module able to provide this information? (e.g. SRET_INDEX_STORAGE_SEARCHING?)
Or is there another functionality available in the ABAP-context?
All ideas are more than welcome
Thanks in advance
Peter MichaelHi Helmut and Peter,
there is a FM -> TREX_EXT_SEARCH_DOCUMENTS which will return exactly what you are looking for.
You pass it the index, etc AND the query string (eg."Trex") as VALUE1 in the structure TREXS_QUERY_ENTRY.
It will return a list of type TREXT_RESULT_DOCS. The CONTENT field is where the text was found as a string.
Regards,
Robin
Maybe you are looking for
-
PDF Reader Problem for Persian PDF's in FF31
Hi, FF31 Won't show Persian PDF's properly. all characters are busted together and unreadable, I asked a friend and check it on mac and Linux. Is that a bug or something?
-
My baby must of hit a combination of keys while no one was looking and i don`t have use of some of my keys any more it`s like my function setting on the key board is stuck on. It only does it while in firefox though my keyboard works normally otherwi
-
Applet - JavaScript communication problem
Hi, I am creating applet parameter using JavaScript (DOM Tree). But when i am accessing inside the applet, it is coming as null. Here is code: JavaScript Code: <html> <head> </head> <script language="JavaScript"> function testXML(){ va
-
"dynamiclinkmanager quit unexpectedly" - persistant dialogue
Has anyone else had this problem with Photoshop CC and Lightroom CC? The dialogue seems to be triggered by attempting to open a file. It repeats and makes using the software impossible. This has been happening to me for a few weeks now - very frus
-
Thinkpad T450s Defective [Pictures]
I had a bad experience with the hinge on an ideapad so the first thing I did when I got the T450s was check the hinge area. One thing I noticed is that on my laptop, the area to the left of the left hinge is slightly separated from the screen area it