#2.0#2015 05 25 12:20:51:590#+0300#Error#com.sap.jms.server.sc.UMESecurityProvider#
#BC-JAS-JMS#jms#C0000A37426704CE00000000000072BC#9677150000000004#sap.com/JMSTestProject#com.sap.jms.server.sc.UMESecurityProvider#<USER>#0##4D6D5E5E006011E5CB4400000093A95E#4d6d5e5e006011e5cb4400000093a95e##0#Thread[HTTPWorker [@1110872576],5,Dedicated_Application_Thread]#Plain##
User: <USER> has not enough permissions. For more details see the exception.
[EXCEPTION]
javax.jms.JMSSecurityException: User: <USER> has not permission: vpName: myVP, type: queue, action: produce, destination: MyQueue
at com.sap.jms.server.sc.UMESecurityProvider.checkPermission(UMESecurityProvider.java:218)
at com.sap.jms.server.sc.UMESecurityProvider.checkDestinationProducePermission(UMESecurityProvider.java:113)
at com.sap.jms.server.JMSVirtualProviderProcessor.producerCreate(JMSVirtualProviderProcessor.java:546)
at com.sap.jms.client.session.JMSSession.createProducer(JMSSession.java:607)
at com.sap.jms.client.session.JMSQueueSession.createSender(JMSQueueSession.java:56)
at com.sap.jms.test.TestServlet.sendAndReceiveMessage(TestServlet.java:73)
at com.sap.jms.test.TestServlet.doGet(TestServlet.java:47)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)
...
at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
<BUSINESSSERVICE NAME="MyVirtualProvider">
<ACTION NAME="my_all_action">
<PERMISSION NAME="myVP.queue" VALUE="ALL:$:MyQueue"
CLASS="com.sap.jms.server.service.impl.JMSDestinationPermission"/>
</ACTION>
<ACTION NAME="my_produce_action">
<PERMISSION NAME="myVP.queue" VALUE="produce:$:MyQueue"
CLASS="com.sap.jms.server.service.impl.JMSDestinationPermission"/>
</ACTION>
<ROLE NAME="MyASJavaRole">
<ASSIGNEDACTION NAME="my_produce_action"/>
</ROLE>
</BUSINESSSERVICE>
<web-app>
<servlet>
<servlet-name>...</servlet-name>
...
<run-as>
<role-name>MyServletRole</role-name>
</run-as>
</servlet>
<security-role>
<role-name>MyServletRole</role-name>
</security-role>
</web-app>
<web-j2ee-engine>
<security-role-map>
<role-name>MyServletRole</role-name>
<server-role-name>MyASJavaRole</server-role-name>
</security-role-map>
</web-j2ee-engine>
<ejb-jar>
<assembly-descriptor>
<security-role>
<role-name>MyEJBRole</role-name>
</security-role>
</assembly-descriptor>
</ejb-jar>
<ejb-j2ee-engine>
<security-permission>
<security-role-map>
<role-name>MyEJBRole</role-name>
<server-role-name>MyASJavaRole</server-role-name>
</security-role-map>
</security-permission>
</ejb-j2ee-engine>
PrivilegedExceptionAction codeToBeExecutedWithGivenUser = new PrivilegedExceptionAction() {
public Object run() throws Exception {
//code to be executed with given user
return null;
}
};
IUser doAsUser = UMFactory.getUserFactory().getUserByLogonID("RUN_AS_USER");
// create new Subject
final Subject runAsSubject = new Subject();
runAsSubject.getPrincipals().add(doAsUser);
try {
Object result = Subject.doAs(runAsSubject, codeToBeExecutedWithGivenUser);
} catch (PrivilegedActionException pae) {
...
}
InitialContext context = new InitialContext();
Connection con = null;
try {
Queue queue = (Queue) context.lookup("jmsqueues/myVP/MyQueue");
QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory)context.lookup("jmsfactory/myVP/QueueConnectionFactory");
con= queueConnectionFactory.createConnection(“User”, “Password”);
Session session = con.createSession(false, Session.AUTO_ACKNOWLEDGE);
QueueSender sender = (QueueSender) session.createProducer(queue);
…
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
40 | |
25 | |
17 | |
13 | |
7 | |
7 | |
7 | |
6 | |
6 | |
6 |