×

Notice

The forum is in read only mode.
×
Getting new Releases

To get notified on new releases you may follow us on twitter @expandframework or subscribe in our main RSS feed.

Topic-icon Navigation fails with less privilaged accounts

  • nejjon
  • nejjon's Avatar Topic Author
  • Offline
  • Senior Boarder
  • Senior Boarder
More
4 months 4 weeks ago - 4 months 4 weeks ago #11497 by nejjon
Run wcf demo in ver 17.2.6 and login as sam

ver 17.2.4 i was using this workaround
XpandModuleBase.DisableControllers(typeof(Xpand.ExpressApp.Security.Controllers.ShowNavigationItemController));
Last edit: 4 months 4 weeks ago by nejjon.
More
4 months 3 weeks ago #11501 by Tolis
Sorry I have fixed it yet, but I will for the next minor. Is there a problem with the current suggested workaround?

To get notified on new releases follow us on twitter @expandframework or subscribe RSS feed. I am also available @tolisss . Also see How to debug eXpand
More
4 months 3 weeks ago #11505 by Tolis
actually the problem was with the server configuration and not with eXpandFramework itself.

see my fix
github.com/expand/eXpand/commit/3383a05e...037e5f3ff14f4137f493

To get notified on new releases follow us on twitter @expandframework or subscribe RSS feed. I am also available @tolisss . Also see How to debug eXpand
  • nejjon
  • nejjon's Avatar Topic Author
  • Offline
  • Senior Boarder
  • Senior Boarder
More
4 months 3 weeks ago #11514 by nejjon
Please review this sample.
login as "tec" logoff then login as "bursar"

This message has an attachment file.
Please log in or register to see it.

More
4 months 2 weeks ago #11520 by Tolis
Thanks for the sample, I now understand your point and sorry for the previous wrong suggestion. First off the Security Instance cannot be shared in a real world app as it lives in different processes and second is not designed to be thread safe. Anyway as it turns out the Xpand Custom Permission cannot be used in the Middle Tier scenarion and I will disable from the next minor 17.2.7.2

for now you can use the following code in your client program.cs

XpandModuleBase.DisableControllers(typeof(Xpand.ExpressApp.Security.Controllers.ShowNavigationItemController),
typeof(Xpand.ExpressApp.Security.Controllers.MyDetailsController),
typeof(Xpand.ExpressApp.StateMachine.Controllers.PermissionTransitionStateController)
);

To get notified on new releases follow us on twitter @expandframework or subscribe RSS feed. I am also available @tolisss . Also see How to debug eXpand
  • nejjon
  • nejjon's Avatar Topic Author
  • Offline
  • Senior Boarder
  • Senior Boarder
More
4 months 2 weeks ago #11522 by nejjon
Thanks for your insight.
Would you try the suggested workaround again
am now getting this exception

Cross-thread operation detected. 'DevExpress.Xpo.UnitOfWork(670)' is not a thread-safe object, please avoid using it simultaneously from different threads


Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at DevExpress.ExpressApp.Security.ClientServer.Wcf.IWcfSecuredDataServer.IsGranted(IClientInfo clientInfo, IList`1 permissionRequests)
at Sch.Win.WcfSecuredObjectsDataServerClient.IsGranted(IClientInfo clientInfo, IList`1 permissionRequests) in D:\cur\Ims\App\nbvghh\Imo\Win\WcfSecuredObjectsDataServerClient.cs:line 145
at DevExpress.ExpressApp.Security.ClientServer.ServerSecurityClient.IsGranted(IList`1 permissionRequests)
at DevExpress.ExpressApp.Security.ClientServer.ServerSecurityClient.IsGrantedBatch(IPermissionRequest permissionRequest)
at DevExpress.ExpressApp.Security.ClientServer.ServerSecurityClient.IsGranted(IPermissionRequest permissionRequest)
at DevExpress.ExpressApp.Win.SystemModule.EditModelController.UpdateActivity()
at DevExpress.ExpressApp.WindowController.SetWindow(Window newWindow)
at DevExpress.ExpressApp.Window.ActivateControllers()
Moderators: expand
Time to create page: 0.262 seconds