Commit 607d0cb99214df2c5722017bda8bf183ee67fc13
1 parent
4d676130
fixed issue in user session
Showing
12 changed files
with
77 additions
and
55 deletions
400-SOURCECODE/AIAHTML5.ADMIN.API/Controllers/UserController.cs
... | ... | @@ -119,10 +119,10 @@ namespace AIAHTML5.ADMIN.API.Controllers |
119 | 119 | bool Status = false; |
120 | 120 | int userId = jsonData["userId"].Value<Int32>(); |
121 | 121 | string tagName = jsonData["tagName"].Value<string>(); |
122 | - bool isAlreadyLoggedIn = jsonData["isAlreadyLoggedIn"].Value<bool>(); | |
122 | + long SessionId = jsonData["SessionId"].Value<long>(); | |
123 | 123 | try |
124 | 124 | { |
125 | - Status = UserModel.ManageUserLoginStatus(dbContext, userId, tagName, isAlreadyLoggedIn); | |
125 | + Status = UserModel.ManageUserLoginStatus(dbContext, userId, tagName, SessionId); | |
126 | 126 | |
127 | 127 | return Request.CreateResponse(HttpStatusCode.OK, Status.ToString()); |
128 | 128 | } | ... | ... |
400-SOURCECODE/AIAHTML5.ADMIN.API/Entity/AIADBEntity.Context.cs
... | ... | @@ -4995,7 +4995,7 @@ namespace AIAHTML5.ADMIN.API.Entity |
4995 | 4995 | return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("usp_InsertAIAUser", sLoginIdParameter, sPasswordParameter, sFirstnameParameter, sLastnameParameter, iUserTypeIdParameter, sEmailIdParameter, iSecurityQuesIdParameter, sSecurityAnswerParameter, iCreatorIdParameter, iLicenseIdParameter, iEditionIdParameter, status); |
4996 | 4996 | } |
4997 | 4997 | |
4998 | - public virtual ObjectResult<Nullable<bool>> usp_ManageUserLoginStatus(Nullable<int> userId, string tag, Nullable<bool> isAlreadyLogin) | |
4998 | + public virtual ObjectResult<Nullable<bool>> usp_ManageUserLoginStatus(Nullable<int> userId, string tag, Nullable<long> sessionId) | |
4999 | 4999 | { |
5000 | 5000 | var userIdParameter = userId.HasValue ? |
5001 | 5001 | new ObjectParameter("userId", userId) : |
... | ... | @@ -5005,11 +5005,11 @@ namespace AIAHTML5.ADMIN.API.Entity |
5005 | 5005 | new ObjectParameter("tag", tag) : |
5006 | 5006 | new ObjectParameter("tag", typeof(string)); |
5007 | 5007 | |
5008 | - var isAlreadyLoginParameter = isAlreadyLogin.HasValue ? | |
5009 | - new ObjectParameter("isAlreadyLogin", isAlreadyLogin) : | |
5010 | - new ObjectParameter("isAlreadyLogin", typeof(bool)); | |
5008 | + var sessionIdParameter = sessionId.HasValue ? | |
5009 | + new ObjectParameter("sessionId", sessionId) : | |
5010 | + new ObjectParameter("sessionId", typeof(long)); | |
5011 | 5011 | |
5012 | - return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Nullable<bool>>("usp_ManageUserLoginStatus", userIdParameter, tagParameter, isAlreadyLoginParameter); | |
5012 | + return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Nullable<bool>>("usp_ManageUserLoginStatus", userIdParameter, tagParameter, sessionIdParameter); | |
5013 | 5013 | } |
5014 | 5014 | } |
5015 | 5015 | } | ... | ... |
400-SOURCECODE/AIAHTML5.ADMIN.API/Entity/AIADBEntity.edmx
... | ... | @@ -1410,7 +1410,7 @@ |
1410 | 1410 | <Function Name="usp_ManageUserLoginStatus" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo"> |
1411 | 1411 | <Parameter Name="userId" Type="int" Mode="In" /> |
1412 | 1412 | <Parameter Name="tag" Type="varchar" Mode="In" /> |
1413 | - <Parameter Name="isAlreadyLogin" Type="bit" Mode="In" /> | |
1413 | + <Parameter Name="sessionId" Type="bigint" Mode="In" /> | |
1414 | 1414 | </Function> |
1415 | 1415 | <Function Name="usp_SaveLabExerciseAttempts" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo"> |
1416 | 1416 | <Parameter Name="UserId" Type="int" Mode="In" /> |
... | ... | @@ -3006,7 +3006,7 @@ |
3006 | 3006 | <FunctionImport Name="usp_ManageUserLoginStatus" ReturnType="Collection(Boolean)"> |
3007 | 3007 | <Parameter Name="userId" Mode="In" Type="Int32" /> |
3008 | 3008 | <Parameter Name="tag" Mode="In" Type="String" /> |
3009 | - <Parameter Name="isAlreadyLogin" Mode="In" Type="Boolean" /> | |
3009 | + <Parameter Name="sessionId" Mode="In" Type="Int64" /> | |
3010 | 3010 | </FunctionImport> |
3011 | 3011 | </EntityContainer> |
3012 | 3012 | <ComplexType Name="DA_GetBaseLayer_Result"> | ... | ... |
400-SOURCECODE/AIAHTML5.ADMIN.API/Models/UserModel.cs
... | ... | @@ -65,12 +65,12 @@ namespace AIAHTML5.ADMIN.API.Models |
65 | 65 | return false; |
66 | 66 | } |
67 | 67 | } |
68 | - public static bool ManageUserLoginStatus(AIADatabaseV5Entities dbContext, int userId, string tagName, bool isAlreadyLoggedIn) | |
68 | + public static bool ManageUserLoginStatus(AIADatabaseV5Entities dbContext, int userId, string tagName, long SessionId) | |
69 | 69 | { |
70 | 70 | bool loginStatus = false; |
71 | 71 | try |
72 | 72 | { |
73 | - loginStatus = Convert.ToBoolean(dbContext.usp_ManageUserLoginStatus(userId, tagName, isAlreadyLoggedIn).FirstOrDefault()); | |
73 | + loginStatus = Convert.ToBoolean(dbContext.usp_ManageUserLoginStatus(userId, tagName, SessionId).FirstOrDefault()); | |
74 | 74 | |
75 | 75 | return loginStatus; |
76 | 76 | } | ... | ... |
400-SOURCECODE/AIAHTML5.API/Controllers/AuthenticateController.cs
... | ... | @@ -512,9 +512,9 @@ namespace AIAHTML5.API.Controllers |
512 | 512 | { |
513 | 513 | int userId = jsonData["userId"].Value<int>(); |
514 | 514 | string tagName = jsonData["tagName"].Value<string>(); |
515 | - bool isAlreadyLoggedIn = jsonData["isAlreadyLoggedIn"].Value<bool>(); | |
515 | + long SessionId = jsonData["SessionId"].Value<long>(); | |
516 | 516 | |
517 | - loginStatus = AIAHTML5.API.Models.Users.GetUserLoginStatus(userId, tagName, isAlreadyLoggedIn); | |
517 | + loginStatus = AIAHTML5.API.Models.Users.GetUserLoginStatus(userId, tagName, SessionId); | |
518 | 518 | |
519 | 519 | return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(loginStatus) }; |
520 | 520 | } | ... | ... |
400-SOURCECODE/AIAHTML5.API/Models/DBModel.cs
... | ... | @@ -348,7 +348,7 @@ namespace AIAHTML5.API.Models |
348 | 348 | return objUser; |
349 | 349 | } |
350 | 350 | |
351 | - internal static string GetUserLoginStatus(int userId,string tagName,bool isAlreadyLoggedIn) | |
351 | + internal static string GetUserLoginStatus(int userId,string tagName, long SessionId) | |
352 | 352 | { |
353 | 353 | string status=string.Empty; |
354 | 354 | DBModel objModel = new DBModel(); |
... | ... | @@ -363,7 +363,7 @@ namespace AIAHTML5.API.Models |
363 | 363 | cmd.CommandType = CommandType.StoredProcedure; |
364 | 364 | cmd.Parameters.AddWithValue("@userId", userId); |
365 | 365 | cmd.Parameters.AddWithValue("@tag", tagName); |
366 | - cmd.Parameters.AddWithValue("@isAlreadyLogin", isAlreadyLoggedIn); | |
366 | + cmd.Parameters.AddWithValue("@sessionId", SessionId); | |
367 | 367 | adapter = new SqlDataAdapter(cmd); |
368 | 368 | adapter.Fill(ds); |
369 | 369 | ... | ... |
400-SOURCECODE/AIAHTML5.API/Models/Users.cs
... | ... | @@ -315,10 +315,10 @@ namespace AIAHTML5.API.Models |
315 | 315 | return objUser; |
316 | 316 | } |
317 | 317 | |
318 | - internal static string GetUserLoginStatus(int userId, string tagName,bool isAlreadyLoggedIn) | |
318 | + internal static string GetUserLoginStatus(int userId, string tagName, long SessionId) | |
319 | 319 | { |
320 | 320 | string status = null; |
321 | - status = DBModel.GetUserLoginStatus(userId, tagName, isAlreadyLoggedIn); | |
321 | + status = DBModel.GetUserLoginStatus(userId, tagName, SessionId); | |
322 | 322 | |
323 | 323 | return status; |
324 | 324 | } | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/controllers/HomeController.js
... | ... | @@ -73,16 +73,6 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
73 | 73 | //$rootScope.errorMessage = ''; // Commented initialization to retain message when coming to login after password reset success screen |
74 | 74 | $("#fileMenuAnchor").addClass("disableFileMenu"); |
75 | 75 | |
76 | - $rootScope.userInfo = { | |
77 | - username: null, | |
78 | - password: null, | |
79 | - emailId: null, | |
80 | - newPassword: null, | |
81 | - confirmPassword: null, | |
82 | - userMessage: null, | |
83 | - unblockUser: false, | |
84 | - isMailForForgotPassword: false | |
85 | - }; | |
86 | 76 | $rootScope.userLicenseInfo = { |
87 | 77 | userLicenseId: 0, |
88 | 78 | licenseeAccountNumber: null |
... | ... | @@ -647,6 +637,19 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
647 | 637 | $('#login').css('visibility', 'visible'); |
648 | 638 | |
649 | 639 | $rootScope.checkRefreshButtonClick = 1; |
640 | + var date = new Date(); | |
641 | + | |
642 | + $rootScope.userInfo = { | |
643 | + username: null, | |
644 | + password: null, | |
645 | + emailId: null, | |
646 | + newPassword: null, | |
647 | + confirmPassword: null, | |
648 | + userMessage: null, | |
649 | + unblockUser: false, | |
650 | + isMailForForgotPassword: false, | |
651 | + SessionId:date.getTime() | |
652 | + }; | |
650 | 653 | |
651 | 654 | $rootScope.siteUrlInfo = { |
652 | 655 | siteIP: null, |
... | ... | @@ -659,7 +662,8 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
659 | 662 | userId: null, |
660 | 663 | password: null, |
661 | 664 | mtype:null, |
662 | - id:null | |
665 | + id:null, | |
666 | + SessionId:date.getTime() | |
663 | 667 | } |
664 | 668 | |
665 | 669 | if (params != null && params != undefined && params != "") { |
... | ... | @@ -710,7 +714,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
710 | 714 | $scope.checkuserstatus = { |
711 | 715 | userId: userId, |
712 | 716 | tagName: loggedInUser.Id==0?'logout':'update', |
713 | - isAlreadyLoggedIn:true | |
717 | + SessionId:loggedInUser.SessionId | |
714 | 718 | } |
715 | 719 | |
716 | 720 | // this case found when browser closed by user after login. after long time (after 20 min) open site again |
... | ... | @@ -813,7 +817,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
813 | 817 | $('#HomeContainerDiv').css('opacity', '0.7'); |
814 | 818 | |
815 | 819 | } |
816 | - $rootScope.AuthenticateUser = function (userInfo,isAlreadyLoggedIn) { | |
820 | + $rootScope.AuthenticateUser = function (userInfo) { | |
817 | 821 | if (navigator.cookieEnabled) { |
818 | 822 | $rootScope.errorMessage = ""; |
819 | 823 | if (userInfo.username == "" || userInfo.username == null || userInfo.username == undefined || userInfo.password == "" || userInfo.password == null || userInfo.password == undefined) { |
... | ... | @@ -842,10 +846,12 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
842 | 846 | // birendra// initialize exp img detail object |
843 | 847 | $rootScope.initializeUserForExportImage(result.Id); |
844 | 848 | // update result with session detail |
849 | + | |
845 | 850 | result.aiaIdleTime=$rootScope.aiaIdleTime; |
846 | 851 | result.aiaIdleTimeOut=$rootScope.aiaIdleTimeOut; |
847 | 852 | result.aiaPingInterval=$rootScope.aiaPingInterval; |
848 | - $rootScope.isAlreadyLoggedIn=isAlreadyLoggedIn==undefined?false:isAlreadyLoggedIn; | |
853 | + result.SessionId=userInfo.SessionId; | |
854 | + | |
849 | 855 | //display user name |
850 | 856 | $rootScope.userName=result.FirstName+" "+result.LastName; |
851 | 857 | |
... | ... | @@ -1265,6 +1271,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
1265 | 1271 | if($rootScope.siteUrlInfo.mtype!=null && $rootScope.siteUrlInfo.mtype.toLowerCase()=='ca' && $rootScope.siteUrlInfo.userId!=null && $rootScope.siteUrlInfo.accountNumber!=null) |
1266 | 1272 | { |
1267 | 1273 | $rootScope.LoginDisableUI(); |
1274 | + var userInfo=$rootScope.userInfo;//also get session id | |
1268 | 1275 | AuthenticationService.ByPassLoginToOpenModule($rootScope.siteUrlInfo) |
1269 | 1276 | .then( |
1270 | 1277 | function (result) { |
... | ... | @@ -1281,16 +1288,19 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
1281 | 1288 | $rootScope.aiaAnimationPath = configresult.serverPath; |
1282 | 1289 | $rootScope.MaxOneFileSize = configresult.fileSize; |
1283 | 1290 | |
1284 | - $rootScope.userInfo.username = result.LoginId; | |
1285 | - $rootScope.userInfo.password = result.Password; | |
1291 | + userInfo.username = result.LoginId; | |
1292 | + userInfo.password = result.Password; | |
1286 | 1293 | var loggedInUser = JSON.parse($scope.currentUserDetails); |
1287 | 1294 | if(loggedInUser!==null && loggedInUser.LoginId==result.LoginId) |
1288 | 1295 | { |
1289 | - $rootScope.AuthenticateUser($rootScope.userInfo,true); | |
1296 | + //using old session id | |
1297 | + userInfo.SessionId = loggedInUser.SessionId; | |
1298 | + $rootScope.AuthenticateUser(userInfo); | |
1290 | 1299 | } |
1291 | 1300 | else |
1292 | 1301 | { |
1293 | - $rootScope.AuthenticateUser($rootScope.userInfo,false); | |
1302 | + //using new sessionid | |
1303 | + $rootScope.AuthenticateUser(userInfo); | |
1294 | 1304 | } |
1295 | 1305 | }); |
1296 | 1306 | |
... | ... | @@ -1337,17 +1347,21 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
1337 | 1347 | //maintain user session by licenseid of site login |
1338 | 1348 | if(loggedInUser!==null && loggedInUser.AccountNumber==sitedetail.accountNumber) |
1339 | 1349 | { |
1340 | - $rootScope.AuthenticateClientSiteUser(sitedetail,true); | |
1350 | + //using old session id | |
1351 | + sitedetail.SessionId = loggedInUser.SessionId; | |
1352 | + $rootScope.AuthenticateClientSiteUser(sitedetail); | |
1341 | 1353 | } |
1342 | 1354 | else |
1343 | 1355 | { |
1344 | - $rootScope.AuthenticateClientSiteUser(sitedetail,false); | |
1356 | + //using new sessionid | |
1357 | + $rootScope.AuthenticateClientSiteUser(sitedetail); | |
1345 | 1358 | } |
1346 | 1359 | }); |
1347 | 1360 | } |
1348 | 1361 | } |
1349 | 1362 | |
1350 | - $rootScope.AuthenticateClientSiteUser = function (siteInfo,isAlreadyLoggedIn) { | |
1363 | + $rootScope.AuthenticateClientSiteUser = function (siteInfo) { | |
1364 | + $rootScope.LoginDisableUI(); | |
1351 | 1365 | AuthenticationService.validateClientSite(siteInfo) |
1352 | 1366 | .then( |
1353 | 1367 | function (result) { |
... | ... | @@ -1398,7 +1412,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
1398 | 1412 | result.aiaIdleTime=$rootScope.aiaIdleTime; |
1399 | 1413 | result.aiaIdleTimeOut=$rootScope.aiaIdleTimeOut; |
1400 | 1414 | result.aiaPingInterval=$rootScope.aiaPingInterval; |
1401 | - $rootScope.isAlreadyLoggedIn=isAlreadyLoggedIn==undefined?false:isAlreadyLoggedIn; | |
1415 | + result.SessionId=siteInfo.SessionId; | |
1402 | 1416 | //display user name |
1403 | 1417 | $rootScope.userName=result.FirstName+" "+result.LastName; |
1404 | 1418 | if (typeof result.FirstName != undefined || result.FirstName != "" || result.FirstName != null) { |
... | ... | @@ -1689,11 +1703,10 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
1689 | 1703 | $rootScope.userStatus = { |
1690 | 1704 | userId: null, |
1691 | 1705 | tagName: null, |
1692 | - loginStatus: null, | |
1693 | - isAlreadyLoggedIn:null | |
1706 | + SessionId:null | |
1694 | 1707 | } |
1695 | 1708 | console.log('user session start'); |
1696 | - $rootScope.CheckUserSession('insert',$rootScope.isAlreadyLoggedIn); | |
1709 | + $rootScope.CheckUserSession('insert'); | |
1697 | 1710 | |
1698 | 1711 | $rootScope.$on('IdleStart', function() { |
1699 | 1712 | // this event fire when idle time finish and time out start |
... | ... | @@ -1711,14 +1724,14 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
1711 | 1724 | // config set in AIA.js -:IdleProvider.timeout(15); |
1712 | 1725 | $rootScope.isSessionTimeout=true; |
1713 | 1726 | console.log('session is timeout'); |
1714 | - $rootScope.CheckUserSession('logout',true); | |
1727 | + $rootScope.CheckUserSession('logout'); | |
1715 | 1728 | }); |
1716 | 1729 | $rootScope.$on('Keepalive', function() { |
1717 | 1730 | // it watch the session on perticular time interval during idle time period |
1718 | 1731 | // config set in AIA.js -: KeepaliveProvider.interval(10); |
1719 | 1732 | //we will use it to recieve request from databse if user logout from admin activity |
1720 | 1733 | console.log('ping user session'); |
1721 | - $rootScope.CheckUserSession('update',true); | |
1734 | + $rootScope.CheckUserSession('update'); | |
1722 | 1735 | }); |
1723 | 1736 | |
1724 | 1737 | |
... | ... | @@ -1745,7 +1758,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
1745 | 1758 | $rootScope.isSessionTimeout=true; |
1746 | 1759 | localStorage.removeItem('loggedInUserDetails'); |
1747 | 1760 | localStorage.clear(); |
1748 | - $rootScope.CheckUserSession('logout',true); | |
1761 | + $rootScope.CheckUserSession('logout'); | |
1749 | 1762 | $timeout(function(){ |
1750 | 1763 | document.location = '/'; |
1751 | 1764 | $rootScope.isVisibleLogin = true; |
... | ... | @@ -1760,15 +1773,15 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
1760 | 1773 | $rootScope.isVisibleLogin = true; |
1761 | 1774 | } |
1762 | 1775 | |
1763 | - $rootScope.CheckUserSession = function (tagName,isAlreadyLoggedIn) { | |
1776 | + $rootScope.CheckUserSession = function (tagName) { | |
1764 | 1777 | //console.log('user login id: '+$rootScope.userData.Id); |
1765 | 1778 | //console.log('user login activity tag: '+tagName); |
1766 | 1779 | if($rootScope.userData==undefined) return; |
1767 | 1780 | //incase site user login userid is 0 so then using license id |
1768 | 1781 | $rootScope.userStatus.userId=$rootScope.userData.Id==0?$rootScope.userData.LicenseId:$rootScope.userData.Id; |
1769 | 1782 | $rootScope.userStatus.tagName=tagName; |
1770 | - $rootScope.userStatus.isAlreadyLoggedIn=isAlreadyLoggedIn; | |
1771 | - $rootScope.isAlreadyLoggedIn=true; | |
1783 | + $rootScope.userStatus.SessionId=$rootScope.userData.SessionId; | |
1784 | + | |
1772 | 1785 | AuthenticationService.ManageUserLoginStatus($rootScope.userStatus) |
1773 | 1786 | .then( |
1774 | 1787 | function (loginStatus) { |
... | ... | @@ -1799,8 +1812,8 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data |
1799 | 1812 | if (userInfo.LoginId != undefined || userInfo.LoginId != "" || userInfo.LoginId != null) { |
1800 | 1813 | |
1801 | 1814 | userInfo["username"] = userInfo.LoginId; |
1802 | - userInfo["password"] = userInfo.Password; | |
1803 | - $rootScope.AuthenticateUser(userInfo,true); | |
1815 | + userInfo["password"] = userInfo.Password; | |
1816 | + $rootScope.AuthenticateUser(userInfo); | |
1804 | 1817 | } |
1805 | 1818 | |
1806 | 1819 | ... | ... |
400-SOURCECODE/Admin/src/app/app.component.ts
... | ... | @@ -81,6 +81,11 @@ export class AppComponent implements OnInit { |
81 | 81 | // console.log("You\'ve gone idle!"); |
82 | 82 | // }); |
83 | 83 | |
84 | + if(window.location.hostname=="localhost") | |
85 | + { | |
86 | + //insert new session | |
87 | + this.loginManageStatus('insert'); | |
88 | + } | |
84 | 89 | this.idle.watch(); |
85 | 90 | |
86 | 91 | } |
... | ... | @@ -134,7 +139,7 @@ export class AppComponent implements OnInit { |
134 | 139 | this.userservice.ManageUserLoginStatus({ |
135 | 140 | userId: this.global.UserId, |
136 | 141 | tagName: tagname, |
137 | - isAlreadyLoggedIn:true | |
142 | + SessionId:this.global.SessionId | |
138 | 143 | }).subscribe(status => { |
139 | 144 | console.log(status); |
140 | 145 | if(status=='False') | ... | ... |
400-SOURCECODE/Admin/src/app/components/UserEntity/user.service.ts
... | ... | @@ -56,7 +56,7 @@ export class UserService { |
56 | 56 | |
57 | 57 | //////////Manage UserLogin Status/////////// |
58 | 58 | ManageUserLoginStatus(obj: any) { |
59 | - var jsonData = { 'userId': obj.userId, 'tagName': obj.tagName,'isAlreadyLoggedIn': obj.isAlreadyLoggedIn }; | |
59 | + var jsonData = { 'userId': obj.userId, 'tagName': obj.tagName,'SessionId': obj.SessionId }; | |
60 | 60 | console.log(obj); |
61 | 61 | var headers = new Headers({ |
62 | 62 | 'Content-Type': 'application/json' | ... | ... |
400-SOURCECODE/Admin/src/app/components/UserEntity/users.component.ts
... | ... | @@ -392,8 +392,8 @@ export class UsersList implements OnInit, AfterViewChecked { |
392 | 392 | this._loadingService.ShowLoading("global-loading"); |
393 | 393 | this.userservice.ManageUserLoginStatus({ |
394 | 394 | userId: this.selectedId, |
395 | - tagName: 'logout', | |
396 | - isAlreadyLoggedIn:true | |
395 | + tagName: 'adminlogout', | |
396 | + SessionId:this.global.SessionId | |
397 | 397 | }).subscribe(x => { |
398 | 398 | console.log(x); |
399 | 399 | this.EditbuttonStatus=undefined; | ... | ... |
400-SOURCECODE/Admin/src/app/shared/global.ts
... | ... | @@ -27,6 +27,7 @@ export class GlobalService { |
27 | 27 | aiaIdleTime:number=0; |
28 | 28 | aiaIdleTimeOut:number=0; |
29 | 29 | aiaPingInterval:number=0; |
30 | + SessionId:number=0; | |
30 | 31 | RemoveColumns: Array<string> = ["Serial_No", "LicenseId","RowNum"] |
31 | 32 | error; |
32 | 33 | public href: string = ""; |
... | ... | @@ -41,6 +42,7 @@ export class GlobalService { |
41 | 42 | this.aiaIdleTime=this.loggedInUser.aiaIdleTime; |
42 | 43 | this.aiaIdleTimeOut=this.loggedInUser.aiaIdleTimeOut; |
43 | 44 | this.aiaPingInterval=this.loggedInUser.aiaPingInterval; |
45 | + this.SessionId=this.loggedInUser.SessionId; | |
44 | 46 | |
45 | 47 | } |
46 | 48 | |
... | ... | @@ -72,9 +74,11 @@ export class GlobalService { |
72 | 74 | { |
73 | 75 | // for 'ng serve --open' command |
74 | 76 | //**** for localhost:4200 *****// |
77 | + var date = new Date(); | |
78 | + var newsessionid = date.getTime();//timestamp is the number of milliseconds that have passed since January 1, 1970 | |
75 | 79 | localStorage.setItem('loggedInUserDetails', JSON.stringify( |
76 | 80 | { |
77 | - "Id": 1, "FirstName": "Maribel", "LastName": "sfsfsfsfsfsfs", "EmailId": "ravi.vishwakarma@ebix.com", "LoginId": "superadmin", "Password": "ebix@2016","aiaIdleTime": 300,"aiaIdleTimeOut": 30,"aiaPingInterval": 10, "SecurityQuestionId": 1, "SecurityAnswer": "boxer", "CreatorId": 1, "CreationDate": "2009-03-02T00:00:00", "DeactivationDate": null, "ModifierId": 1, "ModifiedDate": "2017-01-24T02:03:19", "UserType": "Super Admin", "UserTypeId": 1, "IsActive": true, "IsCorrectPassword": false, "IncorrectLoginAttemptCount": 0, "IsBlocked": false, "LicenseId": 0, "EditionId": 0, "LoginFailureCauseId": 0, "Modules": [{ "slug": "da-view-list", "name": "Dissectible Anatomy", "id": 1 }, { "slug": "tile-view-list", "name": "Atlas Anatomy", "id": 2 }, { "slug": "3d-anatomy-list", "name": "3D Anatomy", "id": 3 }, { "slug": "clinical-illustrations", "name": "Clinical Illustrations", "id": 4 }, { "slug": "clinical-animations", "name": "Clinical Animations", "id": 5 }, { "slug": "Link/encyclopedia", "name": "Encyclopedia", "id": 6 }, { "slug": "curriculum-builder", "name": "Curriculum Builder", "id": 7 }, { "slug": "anatomy-test", "name": "Anatomy Test", "id": 8 }, { "slug": "Link/IP-10", "name": "IP 10", "id": 9 }, { "slug": "lab-exercises", "name": "Lab Exercises", "id": 10 }, { "slug": "Link/indepth-reports", "name": "In-Depth Reports", "id": 11 }, { "slug": "Link/complementary-and-alternate-medicine", "name": "CAM", "id": 12 }, { "slug": "ADAM-images", "name": "A.D.A.M. Images", "id": 13 }, { "slug": "Link/bodyguide", "name": "Body Guide", "id": 14 }, { "slug": "Link/health-navigator", "name": "Symptom Navigator", "id": 15 }, { "slug": "Link/wellness-tools", "name": "The Wellness Tools", "id": 16 }, { "slug": "Link/aod", "name": "A.D.A.M. OnDemand", "id": 1017 }], "LicenseInfo": { "Id": 0, "AccountNumber": "AIAS000319" }, "LicenseSubscriptions": null, "IsSubscriptionExpired": false, "SubscriptionExpirationDate": null, "TermsAndConditionsTitle": null, "TermsAndConditionsText": null | |
81 | + "Id": 1, "FirstName": "Maribel", "LastName": "sfsfsfsfsfsfs", "EmailId": "ravi.vishwakarma@ebix.com", "LoginId": "superadmin", "Password": "ebix@2016","aiaIdleTime": 300,"aiaIdleTimeOut": 30,"aiaPingInterval": 10,"SessionId":newsessionid, "SecurityQuestionId": 1, "SecurityAnswer": "boxer", "CreatorId": 1, "CreationDate": "2009-03-02T00:00:00", "DeactivationDate": null, "ModifierId": 1, "ModifiedDate": "2017-01-24T02:03:19", "UserType": "Super Admin", "UserTypeId": 1, "IsActive": true, "IsCorrectPassword": false, "IncorrectLoginAttemptCount": 0, "IsBlocked": false, "LicenseId": 0, "EditionId": 0, "LoginFailureCauseId": 0, "Modules": [{ "slug": "da-view-list", "name": "Dissectible Anatomy", "id": 1 }, { "slug": "tile-view-list", "name": "Atlas Anatomy", "id": 2 }, { "slug": "3d-anatomy-list", "name": "3D Anatomy", "id": 3 }, { "slug": "clinical-illustrations", "name": "Clinical Illustrations", "id": 4 }, { "slug": "clinical-animations", "name": "Clinical Animations", "id": 5 }, { "slug": "Link/encyclopedia", "name": "Encyclopedia", "id": 6 }, { "slug": "curriculum-builder", "name": "Curriculum Builder", "id": 7 }, { "slug": "anatomy-test", "name": "Anatomy Test", "id": 8 }, { "slug": "Link/IP-10", "name": "IP 10", "id": 9 }, { "slug": "lab-exercises", "name": "Lab Exercises", "id": 10 }, { "slug": "Link/indepth-reports", "name": "In-Depth Reports", "id": 11 }, { "slug": "Link/complementary-and-alternate-medicine", "name": "CAM", "id": 12 }, { "slug": "ADAM-images", "name": "A.D.A.M. Images", "id": 13 }, { "slug": "Link/bodyguide", "name": "Body Guide", "id": 14 }, { "slug": "Link/health-navigator", "name": "Symptom Navigator", "id": 15 }, { "slug": "Link/wellness-tools", "name": "The Wellness Tools", "id": 16 }, { "slug": "Link/aod", "name": "A.D.A.M. OnDemand", "id": 1017 }], "LicenseInfo": { "Id": 0, "AccountNumber": "AIAS000319" }, "LicenseSubscriptions": null, "IsSubscriptionExpired": false, "SubscriptionExpirationDate": null, "TermsAndConditionsTitle": null, "TermsAndConditionsText": null | |
78 | 82 | })); |
79 | 83 | } |
80 | 84 | ... | ... |