So there's a login page and let's say a dashboard with certain data fields. When I press logout from the dashboard it redirects me to the login page. But when I hit back button, it brings me back tot he dashboard and technically let's me access data I shouldn't be able to access.
It was solved by refreshing after pressing back button, because it seems that is the page cache loading from memory which needs to be refreshed. But I don't want the user to have to manually refresh.
Any workaround to that, or a completely different solution would be great.
In angular, you can use #hostListner(angular decorator). that is used for handling dom events in angular.
in your project, you can help localStorage and #hostListner
store client information on local storage with javascript.
store local storage
and then in the log-in page
add #hostListner event in component.ts file
event handling
Implement session validation in each of your route $routeChangeStart event. Whenever user loggout clear the session data and redirect it default route which should be your login page.
Related
In Angularjs, it will refresh the page each time I come into a new page.
Now in Page1, I have already opened a modal dialog and written some texts in it, then I click a button it redirect to Page2.
There's a link now in the header like : Page1 -> Page2.
When I click Page1 of the link, it will return to Page1 with all former data kept(modal is opening, data is still there...)
How to accomplish system page state cache in angularJS?
You need to store the page state somewhere. Most sites are using SessionStorage or LocalStorage.
Everytime you change your page state you have to update your storage.
On a page reload you need to check your storage whether there is any state saved and load it before any other interaction.
The easyiest way may be a angular plugin like https://github.com/gsklee/ngStorage or https://github.com/grevory/angular-local-storage
I'm Using Next.js in my project. I am having payment option in my application., Once I got redirected from the Payment gateway I want to stop user clicking browser back button.
currently, If user click browser back buton it goes back to payment gateway.
I am using next-routesfor routing, redux for state management.,
I tried to stop browser back navigation with this package disable-browser-back-navigation, but the issue remains same.
can anyone help me on this.
I want to create a login page using angularjs and html5 .Now when the I give the credentials in the login page it is directed to a new page using angular routing.When I press the sign out button it will navigate back to the login page.Now when I press the forward browser button without giving the credentials it should not open the same page but it should load some other page like session time out or some error page.How can I handle this using AngularJs?
Don't keep logout and login in routing try following codes-
windows.location.replace=('logout_url')
//Try this if above doesn't work
windows.location=('logout_url')
My scenario is that, when user logs out, jump to the login page. In this case, if user clicks the back button of browser, he would go into the app again. But since session is killed, then he would have some problems to fetch data from server.
so my question is, how to clear browser history or how to disable the back button of browser so user cannot go back into the app again if he is at login page?
I have tried
$scope.$on('$viewContentLoaded', () => {
$location.replace();
})
but it does not work
I have a question that suppose, I have an Admin Dashboard page, on which I have given a list of users. clicking upon a particular user the details of corresponding user is shown on a different page (say on userDetails.jsp). Now I have a back button on userDetails page, Clicking of which I need to redirect admin to the last visited page that is Admin Dashboard page, I have one solution that I can "Reload" the previos page on clicking back button, but then I feel that there is the overhead of calling a server side API, retrieving all the data, Again redraw the whole admin dashboard page even when there is no change made in the userDetails[because it is read only page, modification is not allowed there]. Is there anyway that I can make user of cache or anything else so that I will not need to go to the server to fetch all the data again. I am using spring MVC, angularjs, Thank you.
On your button's click event add the following code:
$window.history.back();
make sure to use $window rather than window since you're using AngularJS