Hi,
After upgrading to Angular 5 abp-ng2-module, AbpSession.UserId value is null in my custom module while tenant id exists, however this value seems to be exists in SessionAppService. With my previous version this is working fine, please advise.
Regards,
13 Answer(s)
-
0
try injecting the IAbpSession
public class MyClass : ITransientDependency { public IAbpSession AbpSession { get; set; } public MyClass() { AbpSession = NullAbpSession.Instance; } public void MyMethod() { var currentUserId = AbpSession.UserId; //... } }
-
0
@sago what is your abp-ng2-module version ? Your problem might not be related to abp-ng2-module.
You can downgrade abp-ng2-module and see if it works for abp-ng2-module's older versions.
-
0
<cite>alper: </cite> try injecting the IAbpSession
public class MyClass : ITransientDependency { public IAbpSession AbpSession { get; set; } public MyClass() { AbpSession = NullAbpSession.Instance; } public void MyMethod() { var currentUserId = AbpSession.UserId; //... } }
Injection is already exists through Base class
-
0
<cite>ismcagdas: </cite> @sago what is your abp-ng2-module version ? Your problem might not be related to abp-ng2-module.
You can downgrade abp-ng2-module and see if it works for abp-ng2-module's older versions.
Downgraded didn't work, returned error Unexpected authenticateResult,
Angular 4 with core 1.1 works without any issue, Angular 5 with core 1.1 Under ABPSession object TenantId exists UserId becomes Null..
-
0
UserId must be retrieved from claims, see <a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/blob/dev/src/Abp/Runtime/Session/ClaimsAbpSession.cs#L17">https://github.com/aspnetboilerplate/as ... ion.cs#L17</a>.
Can you use same code and debug it to see if claims contains userId or not ?
-
0
<cite>ismcagdas: </cite> UserId must be retrieved from claims, see <a class="postlink" href="https://github.com/aspnetboilerplate/aspnetboilerplate/blob/dev/src/Abp/Runtime/Session/ClaimsAbpSession.cs#L17">https://github.com/aspnetboilerplate/as ... ion.cs#L17</a>.
Can you use same code and debug it to see if claims contains userId or not ?
The session values exists in UserAppService, and after navigating from this class to other custom service the Abpsession.UserId becomes Null and the user is UnAuthorized to access this service [AbpAuthorize]. The user is successfully Logged and he is granted this permission using Roles.
-
0
Hi @sago,
after navigating from this class to other custom service
Can you explain this ? I couldn't understand it.
It will be great if you can share your server-side and client-side code as well.
-
0
<cite>ismcagdas: </cite> Hi @sago,
after navigating from this class to other custom service
Can you explain this ? I couldn't understand it.
It will be great if you can share your server-side and client-side code as well.
Okay ! I logged in to the application using admin privilleges, In the debug mode In UserAppService I can see all Session values, this class is decorated with attribute [AbpAuthorize()], when I navigate to the MyAppService the attribute [AbpAuthorize()] becomes InValid some how as it will not enter the requested method (decorated with attribute AbpAuthorize) and Session values are Null. This MyAppService is Inhierted from same base class ApplicationService. Again when I navigate to the UserAppService its Authorized and everything seems fine. I have problem with new created Services.
-
0
@sago we need to see your code to understand the problem. Because services in AspNet Zero don't have such a problem.
-
0
<cite>ismcagdas: </cite> @sago we need to see your code to understand the problem. Because services in AspNet Zero don't have such a problem.
I Agree with Abp.AspNetCore v 2.3.0 and Angular 4 everything is working fine with me. The AbpSession Null issue I am faccing after migrating to Angular v 5.2.9. I will share the code and update you, also appreciate If you guide me to any appropriate documentation for this Angular Upgradtion.
Thanks,
-
0
Thanks. You can send codes to <a href="mailto:[email protected]">[email protected]</a>. We followed this page to update Angular to v5, <a class="postlink" href="https://angular-update-guide.firebaseapp.com/">https://angular-update-guide.firebaseapp.com/</a>.
-
0
<cite>ismcagdas: </cite> @sago we need to see your code to understand the problem. Because services in AspNet Zero don't have such a problem.
Issue resolved adding { provide: HTTP_INTERCEPTORS, useClass: AbpHttpInterceptor, multi: true } inside module, Thanks for your support !
-
0
If you encounter any other problems, you can check out the GitHub commit for Upgrade to abp-ng2-module v2.0. <a class="postlink" href="https://github.com/aspnetboilerplate/module-zero-core-template/issues/187">https://github.com/aspnetboilerplate/mo ... issues/187</a>